<CompatSortNLSVersion>-Element
Gibt an, dass die Laufzeit Sortierreihenfolgen von Legacyversionen beim Vergleichen von Zeichenfolgen verwenden soll.
<configuration>
<runtime>
<CompatSortNLSVersion>
Syntax
<CompatSortNLSVersion
enabled="4096"/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
attribute | Beschreibung |
---|---|
enabled |
Erforderliches Attribut. Gibt die Gebietsschema-ID an, deren Sortierreihenfolge verwendet werden soll. |
Enabled-Attribut
Wert | BESCHREIBUNG |
---|---|
4096 | Die Gebietsschema-ID, die eine andere Sortierreihenfolge darstellt. In diesem Fall stellt 4096 die Sortierreihenfolge von .NET Framework 3.5 und früheren Versionen dar. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
configuration |
Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei. |
runtime |
Enthält Informationen über Laufzeitinitialisierungsoptionen. |
Bemerkungen
Da die von der System.Globalization.CompareInfo-Klasse in .NET Framework 4 ausgeführten Operationen für die Sortierung, den Vergleich und die Schreibweise von Zeichenfolgen dem Unicode 5.1-Standard entsprechen, können sich die Ergebnisse der Methoden für den Zeichenfolgenvergleich wie String.Compare(String, String) und String.LastIndexOf(String) von früheren Versionen von .NET Framework unterscheiden. Wenn Ihre Anwendung von Legacyverhalten abhängig ist, können Sie die Regeln für den Vergleich und die Sortierung von Zeichenfolgen aus .NET Framework 3.5 und früheren Versionen wiederherstellen, indem Sie das <CompatSortNLSVersion>
-Element in der Konfigurationsdatei der Anwendung angeben.
Wichtig
Zum Wiederherstellen von Zeichenfolgenvergleichs- und Zeichenfolgensortierregeln von Legacyversionen muss auch die sort00001000.dll-Dynamic Link Library auf dem lokalen System verfügbar sein.
Sie können Zeichenfolgensortier- und Zeichenfolgenvergleichsregeln von Legacyversionen auch in einer bestimmten Anwendungsdomäne verwenden, indem Sie die Zeichenfolge "NetFx40_Legacy20SortingBehavior" an die SetCompatibilitySwitches-Methode beim Erstellen der Anwendungsdomäne übergeben.
Beispiel
Im folgenden Beispiel werden zwei String-Objekte instanziiert und die String.Compare(String, String, StringComparison)-Methode aufgerufen, um sie mithilfe der Konventionen der aktuellen Kultur zu vergleichen.
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
Wenn Sie das Beispiel in .NET Framework 4 ausführen, wird die folgende Ausgabe angezeigt:
sta follows a in the sort order.
Diese unterscheidet sich vollkommen von der Ausgabe, die bei Ausführung des Beispiels in .NET Framework 3.5 angezeigt wird:
sta equals a in the sort order.
Wenn Sie jedoch dem Verzeichnis des Beispiels die folgende Konfigurationsdatei hinzufügen und dann das Beispiel in .NET Framework 4 ausführen, ist die Ausgabe identisch mit der bei einer Ausführung in .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>