문자열 비교에 "=="과 "Equals" 속도 비교
* 문자열 검사를 할 때 ==과 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");
}
}
}
덧붙여서.. int,double... 의 실수와 연관있는형은 ==가 훨빠릅니다. 단 스트링비교는 반드시
Equals 로 하시는 습관을 들이십시요. 얼마안된다 안된다 생각하실수도 있겠지만.. 저거 하나가 여러게 모이면 확연히 표가 납니다...
- 출처 : KNUG (한국 닷넷 사용자 모임; Korea .NET User Group)
첫댓글 스트링형 비교는 equl이 났단 얘기군..몰랐네욤 ㅎㅎ 좋은 정보네요 ㅎㅎㅎ 굿~ 추천 한표~
Equals 인데.ㅎㅎ (태클아님.ㅎㅎ)
아 그렇군요.
좋은 정보 감솨^^