Aracılığıyla paylaş


<CompatSortNLSVersion> Öğe

Dize karşılaştırmaları gerçekleştirirken çalışma zamanının eski sıralama düzenlerini kullanması gerektiğini belirtir.

<konfigürasyon>
   <Çalışma zamanı>
     <CompatSortNLSVersion>

Sözdizimi

<CompatSortNLSVersion
   enabled="4096"/>

Öznitelikler ve Öğeler

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

Attributes

Özellik Description
enabled Gerekli öznitelik.

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

enabled Özniteliği

Değer Description
4096 Alternatif 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 Description
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'te 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.Compare(String, String) gibi String.LastIndexOf(String) dize karşılaştırma yöntemlerinin sonuçları .NET Framework'ün ö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ın geri yüklenmesi için sort00001000.dll dinamik bağlantı kitaplığının yerel sistemde kullanılabilir olması da gerekir.

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.

Example

Aşağıdaki örnek iki String nesne örneği 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

.NET Framework 4'te örneği ç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 çıktıdan tamamen farklıdır:

sta equals a in the sort order.

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

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

Ayrıca bakınız