BCL 방법의 차이점에 대해 궁금한 점이 있다면 Reflector 가 당신의 친구입니다 :-)
다음 지침을 따릅니다.
정확히 일치 : 편집 : 이전에는 항상 Equals (string, string) 내부에서 객체 == 연산자를 사용하여 객체 참조를 비교하지만 strA.Equals (strB)는 여전히 1-11 % 인 원칙에 따라 == 연산자를 사용했습니다. string.Equals (strA, strB), strA == strB 및 string.CompareOrdinal (strA, strB)보다 전체적으로 빠릅니다. 내부 / 비 간격 문자열 값, 동일 / 다른 문자열 길이 및 다양한 크기 (1B-5MB) 모두에서 StopWatch로 루프 테스트를 수행했습니다.
strA.Equals(strB)
사람이 읽을 수있는 일치 (서양 문화, 대소 문자 구분) :
string.Compare(strA, strB, StringComparison.OrdinalIgnoreCase) == 0
사람이 읽을 수있는 일치 (CityInfo에 의해 정의 된 다른 모든 문화권, 대소 문자 구분 / 악센트 / 가나 등) :
string.Compare(strA, strB, myCultureInfo) == 0
사용자 지정 규칙과 사람이 읽을 수있는 일치 (다른 모든 문화권) :
CompareOptions compareOptions = CompareOptions.IgnoreCase
| CompareOptions.IgnoreWidth
| CompareOptions.IgnoreNonSpace;
string.Compare(strA, strB, CultureInfo.CurrentCulture, compareOptions) == 0