Freigeben über


<CompatSortNLSVersion> Element

Gibt an, dass die Laufzeit ältere Sortierreihenfolgen beim Ausführen von Zeichenfolgenvergleichen verwenden soll.

<Konfiguration>
   <Laufzeit>
     <CompatSortnLSVersion>

Syntax

<CompatSortNLSVersion
   enabled="4096"/>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Merkmal Description
enabled Erforderliches Attribut.

Gibt die Gebietsschema-ID an, deren Sortierreihenfolge verwendet werden soll.

Enabled-Attribut

Wert Description
4096 Die Gebietsschema-ID, die eine alternative Sortierreihenfolge darstellt. In diesem Fall stellt 4096 die Sortierreihenfolge von .NET Framework 3.5 und früheren Versionen dar.

Untergeordnete Elemente

Keiner.

Übergeordnete Elemente

Element Description
configuration Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.
runtime Enthält Informationen über Laufzeitinitialisierungsoptionen.

Bemerkungen

Da Zeichenfolgenvergleichs-, Sortier- und Groß-/Kleinschreibungsvorgänge, die von der System.Globalization.CompareInfo Klasse in .NET Framework 4 ausgeführt werden, dem Unicode 5.1-Standard entsprechen, ergeben sich die Ergebnisse von Zeichenfolgenvergleichsmethoden wie String.Compare(String, String) und String.LastIndexOf(String) können sich von früheren Versionen von .NET Framework unterscheiden. Wenn Ihre Anwendung vom Legacyverhalten abhängt, können Sie die Zeichenfolgenvergleichs- und Sortierregeln wiederherstellen, die in .NET Framework 3.5 und früheren Versionen verwendet werden, indem Sie das Element in die <CompatSortNLSVersion> Konfigurationsdatei Ihrer Anwendung einschließen.

Von Bedeutung

Beim Wiederherstellen von Zeichenfolgenvergleichs- und Sortierregeln muss auch die sort00001000.dll Dynamische Verknüpfungsbibliothek im lokalen System verfügbar sein.

Sie können auch ältere Zeichenfolgensortierungs- und Vergleichsregeln in einer bestimmten Anwendungsdomäne verwenden, indem Sie die Zeichenfolge "NetFx40_Legacy20SortingBehavior" an die SetCompatibilitySwitches Methode übergeben, wenn Sie die Anwendungsdomäne erstellen.

Example

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 auf .NET Framework 4 ausführen, wird die folgende Ausgabe angezeigt:

sta follows a in the sort order.

Dies unterscheidet sich vollständig von der Ausgabe, die beim Ausführen des Beispiels auf .NET Framework 3.5 angezeigt wird:

sta equals a in the sort order.

Wenn Sie jedoch die folgende Konfigurationsdatei zum Verzeichnis des Beispiels hinzufügen und dann das Beispiel auf .NET Framework 4 ausführen, ist die Ausgabe identisch mit der Ausgabe, die vom Beispiel beim Ausführen auf .NET Framework 3.5 erzeugt wird.

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

Siehe auch