Dev/Etc

문자열 비교에 "=="과 "Equals" 중 어느 것이 빠를까요?

쇼크리더 2008. 2. 13. 10:42
반응형

 /*******************************************************************************

 * 문자열 검사를 할 때 ==과 Equals메서드 중 누가 더 빠를까요?..

 * 저번에 본 봐와 같이 ==(IL : op_Equality)에는 12개의 메서드가 사용되지만

 * Equals 매서드는 2 가지만 사용되더군요.

 * 따라서 문자열 비교할 때는 Equals메서드를 사용해 비교하세요.(숫자일때는 == 이 더 빠르다고 합니다.)

 * *****************************************************************************/

using System;


namespace EqualsVs__

{

    /// <summary>

    /// Class1에 대한 요약 설명입니다.

    /// </summary>

    class Class1

    {

        /// <summary>

        /// 해당 응용 프로그램의 주 진입점입니다.

        /// </summary>

        [STAThread]

        static void Main(string[] args)

        {

            string strCompared = "문자열";


            //IL_000c:  call       bool [mscorlib]System.String::op_Equality(string, string)

            //사용 메서드 수 : 12개

            //시간 : 7453.4

            if (strCompared == "문자열")

                Console.WriteLine("True");


            // IL_0023:  callvirt   instance bool [mscorlib]System.String::Equals(string)

            //사용 메서드 수 : 2개

            //시간 : 37.9

            if (strCompared.Equals("문자열"))

                Console.WriteLine("True");

        }

    }

}


출처 : http://www.devpia.com/
반응형