이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.
클래스에서 StringComparer 파생된 개체는 대/소문자 및 문화권별 비교 규칙을 모두 고려하는 문자열 기반의 비교, 동등성, 및 해시 코드 연산을 구현합니다. 클래스를 StringComparer 사용하여 형식별 비교를 만들어 제네릭 컬렉션의 요소를 정렬할 수 있습니다. Hashtable, Dictionary<TKey,TValue>, SortedList, 및 SortedList<TKey,TValue>와 같은 클래스는 정렬 용도로 StringComparer 클래스를 사용합니다.
클래스에서 나타내는 StringComparer 비교 작업은 대/소문자를 구분하거나 대/소문자를 구분하지 않는 것으로 정의되며 단어(문화권 구분) 또는 서수(문화권을 구분하지 않는) 비교 규칙을 사용합니다. 단어 및 서수 비교 규칙에 대한 자세한 내용은 다음을 참조하세요 System.Globalization.CompareOptions.
비고
정렬 가중치 테이블의 최신 버전인 기본 유니코드 데이터 정렬 요소 테이블을 다운로드할 수 있습니다. 정렬 가중치 테이블의 특정 버전은 시스템에 설치된 유니코드용 International Components 라이브러리의 버전에 따라 달라집니다. ICU 버전 및 구현하는 유니코드 버전에 대한 자세한 내용은 ICU 다운로드를 참조하세요.
Windows의 .NET Framework의 경우 정렬 및 비교 작업에 사용되는 문자 가중치에 대한 정보가 포함된 텍스트 파일 집합인 정렬 가중치 테이블을 다운로드할 수 있습니다.
구현된 속성
모순된 것처럼 보이는 클래스 속성을 사용하는 StringComparer 방법에 대해 혼동할 수 있습니다. 클래스는 StringComparer로 선언됩니다 (abstract
는 Visual Basic에서 MustInherit
). 즉, StringComparer 클래스에서 파생된 클래스의 개체에서만 해당 멤버를 호출할 수 있습니다. 모순은 StringComparer 클래스의 각 속성이 static
으로 선언된다는 점입니다(Shared
는 Visual Basic에서). 즉, 먼저 파생 클래스를 만들지 않고도 속성을 호출할 수 있다는 것입니다.
속성을 직접 호출할 수 있습니다. 왜냐하면 각 속성이 실제로 StringComparer 클래스에서 파생된 익명 클래스의 인스턴스를 반환하기 때문입니다. 따라서 각 속성 값의 형식은 StringComparer익명 클래스 자체의 형식이 아니라 익명 클래스의 기본 클래스입니다. 각 StringComparer 클래스 속성은 미리 정의된 대/소문자 및 비교 규칙을 지원하는 StringComparer 개체를 반환합니다.
.NET