다음을 통해 공유


CompareInfo 클래스

이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.

데이터 비교 및 정렬에 대한 규칙은 문화권마다 다릅니다. 예를 들어 정렬 순서는 윗주 또는 문자의 시각적 표현을 기반으로 할 수 있습니다. 동아시아 언어에서는 표의 문자의 부수와 획에 따라 문자가 정렬됩니다. 언어와 문화권이 알파벳에 사용하는 순서에 따라 정렬 순서가 달라지기도 합니다. 예를 들어 덴마크어 알파벳의 "Æ" 문자는 "Z" 다음에 옵니다. 또한 비교는 대/소문자를 구분하거나 대/소문자를 구분하지 않을 수 있으며 대/소문자 구분 규칙도 문화권에 따라 다를 수 있습니다. 클래스는 CompareInfo 이 문화권 구분 문자열 비교 데이터를 기본 문화권 구분 문자열 작업을 수행하는 작업을 담당합니다.

일반적으로 메서드 호출을 포함하여 모든 비 서수 문자열 비교 작업에서 암시적으로 사용되므로 개체를 직접 인스턴스화 CompareInfoString.Compare 필요가 없습니다. 그러나 개체를 검색 CompareInfo 하려는 경우 다음 방법 중 하나로 개체를 검색할 수 있습니다.

  • 특정 문화권에 CultureInfo.CompareInfo 대한 속성 값을 검색합니다.

  • 문화권 이름을 사용하여 정적 GetCompareInfo 메서드를 호출합니다. 이렇게 하면 개체에 대한 런타임에 바인딩된 액세스를 허용 CompareInfo 합니다.

무시된 검색 값

문자 집합에는 무시할 수 있는 문자가 포함되며, 이들 문자는 언어 또는 문화권 구분 비교를 수행하는 경우 고려되지 않습니다. 문화권 구분 비교를 수행할 때와 같은 IndexOf 비교 메서드는 LastIndexOf 이러한 문자를 고려하지 않습니다. 무시할 수 있는 문자는 다음과 같습니다.

  • String.Empty. 문화권 구분 비교 메서드는 항상 검색되는 문자열의 시작 부분(인덱스 0)에 빈 문자열을 찾습니다.

  • 비교 옵션으로 인해 작업에서 고려되지 않는 코드 포인트가 있는 문자로 구성된 문자 또는 문자열입니다. 특히 CompareOptions.IgnoreNonSpaceCompareOptions.IgnoreSymbols 옵션은 기호와 간격이 없는 결합 문자가 무시되는 검색을 생성합니다.

  • 언어적 의미가 없는 코드 포인트가 있는 문자열입니다. 예를 들어 소프트 하이픈(U+00AD)은 문화권 구분 문자열 비교에서 항상 무시됩니다.

보안 고려 사항

보안 결정이 문자열 비교 또는 대/소문자 변경에 따라 달라지는 경우 운영 체제의 문화권 설정에 관계없이 동작이 일관되도록 속성을 사용해야 InvariantCulture 합니다.

참고 항목

가능하면 형식 CompareOptions 의 매개 변수가 있는 문자열 비교 메서드를 사용하여 예상되는 비교 종류를 지정해야 합니다. 일반적으로 사용자 인터페이스에 표시된 문자열을 비교하고 보안 비교를 위해 OrdinalOrdinalIgnoreCase 언어 옵션(현재 문화권 사용)을 사용합니다.