<CompatSortNLSVersion> 요소
문자열 비교를 수행할 때 런타임에서 레거시 정렬 순서를 사용하도록 지정합니다.
<configuration>
<runtime>
<CompatSortNLSVersion>
구문
<CompatSortNLSVersion
enabled="4096"/>
특성 및 요소
다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 | 설명 |
---|---|
enabled |
필수 특성입니다. 정렬 순서를 사용할 로캘 ID를 지정합니다. |
enabled 특성
값 | Description |
---|---|
4096 | 대체 정렬 순서를 나타내는 로캘 ID입니다. 이 경우 4096은 .NET Framework 3.5 및 이전 버전의 정렬 순서를 나타냅니다. |
자식 요소
없음
부모 요소
요소 | Description |
---|---|
configuration |
공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다. |
runtime |
런타임 초기화 옵션에 대한 정보를 포함합니다. |
설명
.NET Framework 4의 System.Globalization.CompareInfo 클래스가 수행하는 문자열 비교, 정렬 및 대소문자 구분 작업은 Unicode 5.1 표준을 준수하므로 String.Compare(String, String), String.LastIndexOf(String)과 같은 문자열 비교 메서드의 결과는 이전 버전의 .NET Framework와 다를 수 있습니다. 애플리케이션이 레거시 동작에 의존하는 경우 애플리케이션의 구성 파일에 <CompatSortNLSVersion>
요소를 추가하여 .NET Framework 3.5 이하 버전에 사용된 문자열 비교 및 정렬 규칙을 복원할 수 있습니다.
중요
레거시 문자열 비교 복원 및 정렬 규칙을 실행하려면 로컬 시스템에서 sort00001000.dll 동적 링크 라이브러리를 사용할 수 있어야 합니다.
애플리케이션 도메인을 만들 때 "NetFx40_Legacy20SortingBehavior" 문자열을 SetCompatibilitySwitches 메서드로 전달하여 특정 애플리케이션 도메인에 레거시 문자열 정렬과 비교 규칙을 사용할 수도 있습니다.
예제
다음 예제에서는 현재 문화권의 규약을 사용하여 두 가지 String 개체를 인스턴스화하고 String.Compare(String, String, StringComparison) 메서드를 호출하여 두 개체를 비교합니다.
using System;
enum StringComparisonResult
{
precedes = -1,
equals = 0,
follows = 1,
};
public class Example
{
public static void Main()
{
string str1 = new string( new char[] {'\u0219', '\u021B', 'a' });
string str2 = "a";
Console.WriteLine("{0} {1} {2} in the sort order.",
str1,
(StringComparisonResult) String.Compare(str1, str2, StringComparison.CurrentCulture),
str2);
}
}
Enum StringComparisonResult As Integer
precedes = -1
equals = 0
follows = 1
End Enum
Module Example
Public Sub Main()
Dim str1 As String = ChrW(&h219) + ChrW(&h21B) + "a"
Dim str2 As String = "a"
Console.WriteLine("{0} {1} {2} in the sort order.", _
str1, _
CType(String.Compare(str1, str2, StringComparison.CurrentCulture), StringComparisonResult), _
str2)
End Sub
End Module
.NET Framework 4에서 예를 실행하면 다음 출력이 표시됩니다.
sta follows a in the sort order.
이는 .NET Framework 3.5에서 예를 실행할 때 표시되는 출력과 완전히 다릅니다.
sta equals a in the sort order.
그러나 다음 구성 파일을 예제 디렉터리에 추가한 다음, .NET Framework 4에서 예제를 실행하는 경우 출력은 .NET Framework 3.5에서 실행할 때 예제가 생성한 출력과 동일합니다.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
참고 항목
.NET