<CompatSortNLSVersion> Öğesi

Çalışma zamanının, dize karşılaştırmaları yaparken eski sıralama düzenlerini kullanması gerektiğini belirtir.

<Yapılandırma>
  <Çalışma zamanı>
    <CompatSortNLSVersion>

Syntax

<CompatSortNLSVersion
   enabled="4096"/>  

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik Açıklama
enabled Gerekli öznitelik.

Sıralama düzeni kullanılacak olan yerel ayar kimliğini belirtir.

etkin Öznitelik

Değer Açıklama
4096 Alternatif bir sıralama düzenini temsil eden yerel ayar kimliği. Bu durumda 4096, .NET Framework 3.5 ve önceki sürümlerin sıralama düzenini temsil eder.

Alt Öğeler

Yok.

Üst Öğeler

Öğe Açıklama
configuration Her yapılandırma dosyasında yer alan ve ortak dil çalışma zamanı ve .NET Framework uygulamaları tarafından kullanılan kök öğe.
runtime Çalışma zamanı başlatma seçenekleri hakkında bilgi içerir.

Açıklamalar

.NET Framework 4'teki sınıfı tarafından System.Globalization.CompareInfo gerçekleştirilen dize karşılaştırma, sıralama ve büyük/küçük harf karşılaştırma işlemleri Unicode 5.1 standardına uygun olduğundan ve String.LastIndexOf(String) gibi String.Compare(String, String) dize karşılaştırma yöntemlerinin sonuçları .NET Framework önceki sürümlerinden farklı olabilir. Uygulamanız eski davranışa bağlıysa, öğesini uygulamanızın yapılandırma dosyasına ekleyerek <CompatSortNLSVersion> .NET Framework 3.5 ve önceki sürümlerde kullanılan dize karşılaştırma ve sıralama kurallarını geri yükleyebilirsiniz.

Önemli

Eski dize karşılaştırma ve sıralama kurallarını geri yüklemek, sort00001000.dll dinamik bağlantı kitaplığının yerel sistemde kullanılabilir olmasını da gerektirir.

Uygulama etki alanını oluştururken yöntemine "NetFx40_Legacy20SortingBehavior" SetCompatibilitySwitches dizesini geçirerek belirli bir uygulama etki alanında eski dize sıralama ve karşılaştırma kurallarını da kullanabilirsiniz.

Örnek

Aşağıdaki örnek iki String nesnenin örneğini oluşturur ve geçerli kültürün String.Compare(String, String, StringComparison) kurallarını kullanarak bunları karşılaştırmak için yöntemini çağırır.

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

Örneği .NET Framework 4'te çalıştırdığınızda aşağıdaki çıktı görüntülenir:

sta follows a in the sort order.  

Bu, örneği .NET Framework 3.5'te çalıştırdığınızda görüntülenen çıkıştan tamamen farklıdır:

sta equals a in the sort order.  

Ancak, aşağıdaki yapılandırma dosyasını örneğin dizinine ekleyip örneği .NET Framework 4'te çalıştırırsanız, çıktı, .NET Framework 3.5'te çalıştırıldığında örnek tarafından üretilen çıktıyla aynıdır.

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

Ayrıca bkz.