<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>