다음을 통해 공유


SortVersion 클래스

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

.NET Framework의 정렬 및 문자열 비교

.NET Framework 4를 통해 각 버전의 .NET Framework에는 문자열 정규화에 대한 정렬 가중치 및 데이터가 포함되고 특정 버전의 유니코드를 기반으로 하는 테이블이 포함되었습니다. .NET Framework 4.5 이상 버전에서 이러한 테이블의 존재는 운영 체제에 따라 달라집니다.

  • Windows 7 및 이전 버전에서는 테이블이 문자열을 비교하고 정렬하는 데 계속 사용됩니다.
  • Windows 8에서 .NET Framework는 문자열 비교 및 순서 지정 작업을 운영 체제에 위임합니다.

따라서 다음 표와 같이 문자열 비교 결과는 .NET Framework 버전뿐만 아니라 운영 체제 버전에도 따라 달라질 수 있습니다. 지원되는 유니코드 버전 목록은 문자 비교 및 정렬에만 적용되며 범주에 따른 유니코드 문자의 분류에는 적용되지 않습니다.

.NET Framework 버전 운영 체제 유니코드 버전
4 모든 운영 체제 Unicode 5.0
4.5 이상 버전 Windows 7 Unicode 5.0
4.5 이상 버전 Windows 8 이상 버전 유니코드 6.0

Windows 8에서는 문자열 비교 및 순서 지정에 사용되는 유니코드 버전이 운영 체제 버전에 따라 달라지므로 특정 버전의 .NET Framework에서 실행되는 애플리케이션에서도 문자열 비교 결과가 다를 수 있습니다.

.NET Core의 정렬 및 문자열 비교

모든 버전의 .NET(Core)은 문자열 비교를 수행할 때 기본 운영 체제를 사용합니다. 따라서 문자열 비교의 결과 또는 문자열이 정렬되는 순서는 비교를 수행할 때 운영 체제에서 사용하는 유니코드 버전에 따라 달라집니다. Linux, macOS 및 Windows 10 이상 버전 에서 유니코드 용 International Components 라이브러리는 API 비교 및 정렬을 위한 구현을 제공합니다.

SortVersion 클래스 사용

클래스는 SortVersion 문자열 비교 및 순서 지정을 위해 .NET에서 사용하는 유니코드 버전에 대한 정보를 제공합니다. 개발자가 검색 하 고 애플리케이션의 문자열 비교 및 정렬에 사용 되는 유니코드 버전의 변경 내용을 성공적으로 처리할 수 있는 애플리케이션을 작성할 수 있습니다.

다음 두 가지 방법으로 개체를 SortVersion 인스턴스화할 수 있습니다.

  • 생성자를 호출 SortVersion 하여 버전 번호 및 정렬 ID에 따라 새 SortVersion 개체를 인스턴스화합니다. 이 생성자는 저장된 데이터에서 개체를 다시 만들 SortVersion 때 가장 유용합니다.
  • 속성 값을 CompareInfo.Version 검색합니다. 이 속성은 애플리케이션이 실행 되는.NET 구현에서 사용 되는 유니코드 버전에 대 한 정보를 제공 합니다.

클래스에는 SortVersion 유니코드 버전과 문자열 비교에 사용되는 특정 문화권을 나타내는 두 가지 속성 FullVersion 이 있습니다 SortId. 속성 FullVersion 은 문자열 비교에 사용되는 유니코드 버전을 반영하는 임의의 숫자 값이며 SortId , 이 속성은 문자열 비교에 규칙이 사용되는 문화권을 반영하는 임의 Guid 값입니다. 이 두 속성의 값은 메서드, 연산자 또는 Inequality 연산자를 사용하여 EqualsSortVersion 개체를 Equality 비교할 때만 중요합니다.

일반적으로 인덱스 또는 리터럴 문자열 자체와 같이 문화권에 민감한 정렬된 문자열 데이터의 형식을 저장하거나 검색할 때 개체를 사용합니다 SortVersion . 이 경우 다음 단계를 수행해야 합니다.

  1. 정렬된 문자열 데이터가 저장 FullVersion 되면 속성 값과 SortId 속성 값도 저장됩니다.

  2. 순서가 지정된 문자열 데이터를 검색할 때 생성자를 호출 SortVersion 하여 문자열 순서 지정에 사용되는 개체를 다시 SortVersion 만들 수 있습니다.

  3. 이 새로 인스턴스화된 SortVersion 개체는 문자열 데이터를 정렬하는 데 규칙을 사용하는 문화권을 반영하는 개체와 SortVersion 비교됩니다.

  4. SortVersion 개체가 같지 않으면 문자열 데이터의 순서를 다시 지정해야 합니다.