<CompatSortNLSVersion > 요소<CompatSortNLSVersion> Element

문자열 비교를 수행할 때 런타임에서 레거시 정렬 순서를 사용하도록 지정합니다.Specifies that the runtime should use legacy sort orders when performing string comparisons.

<configuration> <configuration>
    <runtime >   <runtime>
     <CompatSortNLSVersion >    <CompatSortNLSVersion>

구문Syntax

<CompatSortNLSVersion    
   enabled="4096"/>  

특성 및 요소Attributes and Elements

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.The following sections describe attributes, child elements, and parent elements.

특성Attributes

특성Attribute 설명Description
enabled 필수 특성입니다.Required attribute.

정렬 순서를 사용할 로캘 ID를 지정합니다.Specifies the locale ID whose sort order is to be used.

enabled 특성enabled Attribute

Value 설명Description
40964096 대체 정렬 순서를 나타내는 로캘 ID입니다.The locale ID that represents an alternate sort order. 이 경우 4096는 .NET Framework 3.5 이전 버전의 정렬 순서를 나타냅니다.In this case, 4096 represents the sort order of the .NET Framework 3.5 and earlier versions.

자식 요소Child Elements

없음.None.

부모 요소Parent Elements

요소Element 설명Description
configuration 공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime 런타임 초기화 옵션에 대한 정보를 포함합니다.Contains information about runtime initialization options.

주의Remarks

.NET Framework 4의 System.Globalization.CompareInfo 클래스에서 수행 하는 문자열 비교, 정렬 및 대/소문자 구분 연산은 유니코드 5.1 표준을 따르기 때문에 String.Compare(String, String)String.LastIndexOf(String)와 같은 문자열 비교 메서드의 결과는 이전 버전의 .NET Framework와 다를 수 있습니다.Because string comparison, sorting, and casing operations performed by the System.Globalization.CompareInfo class in the .NET Framework 4 conform to the Unicode 5.1 standard, the results of string comparison methods such as String.Compare(String, String) and String.LastIndexOf(String) may differ from previous versions of the .NET Framework. 응용 프로그램이 레거시 동작에 의존 하는 경우 응용 프로그램의 구성 파일에 <CompatSortNLSVersion> 요소를 포함 하 여 .NET Framework 3.5 이전 버전에서 사용 되는 문자열 비교 및 정렬 규칙을 복원할 수 있습니다.If your application depends on legacy behavior, you can restore the string comparison and sorting rules used in the .NET Framework 3.5 and earlier versions by including the <CompatSortNLSVersion> element in your application's configuration file.

중요

레거시 문자열 비교 복원 및 정렬 규칙을 실행하려면 로컬 시스템에서 sort00001000.dll 동적 링크 라이브러리를 사용할 수 있어야 합니다.Restoring legacy string comparison and sorting rules also requires the sort00001000.dll dynamic link library to be available on the local system.

애플리케이션 도메인을 만들 때 "NetFx40_Legacy20SortingBehavior" 문자열을 SetCompatibilitySwitches 메서드로 전달하여 특정 애플리케이션 도메인에 레거시 문자열 정렬과 비교 규칙을 사용할 수도 있습니다.You can also use legacy string sorting and comparison rules in a specific application domain by passing the string "NetFx40_Legacy20SortingBehavior" to the SetCompatibilitySwitches method when you create the application domain.

예제Example

다음 예제에서는 현재 문화권의 규약을 사용하여 두 가지 String 개체를 인스턴스화하고 String.Compare(String, String, StringComparison) 메서드를 호출하여 두 개체를 비교합니다.The following example instantiates two String objects and calls the String.Compare(String, String, StringComparison) method to compare them by using the conventions of the current culture.

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에서 예제를 실행 하면 다음과 같은 출력이 표시 됩니다.When you run the example on the .NET Framework 4, it displays the following output:

sta follows a in the sort order.  

이는 .NET Framework 3.5에서 예제를 실행할 때 표시 되는 출력과 완전히 다릅니다.This is completely different from the output that is displayed when you run the example on the .NET Framework 3.5:

sta equals a in the sort order.  

그러나 다음 구성 파일을 예제 디렉터리에 추가한 다음 .NET Framework 4에서 예제를 실행 하는 경우 출력은 3.5 .NET Framework에서 실행 될 때 예제에 의해 생성 된 것과 동일 합니다.However, if you add the following configuration file to the example's directory and then run the example on the .NET Framework 4, the output is identical to that produced by the example when it is run on the .NET Framework 3.5.

<?xml version ="1.0"?>  
<configuration>  
   <runtime>  
      <CompatSortNLSVersion enabled="4096"/>  
   </runtime>  
</configuration>  

참조See also