<Het element CompatSortNLSVersion>
Hiermee geeft u op dat de runtime verouderde sorteervolgordes moet gebruiken bij het uitvoeren van tekenreeksvergelijkingen.
<configuratie>
<Runtime>
<CompatSortNLSVersion>
Syntax
<CompatSortNLSVersion
enabled="4096"/>
Kenmerken en elementen
In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.
Kenmerken
Kenmerk | Beschrijving |
---|---|
enabled |
Vereist kenmerk. Hiermee geeft u de landinstelling-id op waarvan de sorteervolgorde moet worden gebruikt. |
ingeschakeld kenmerk
Waarde | Beschrijving |
---|---|
4096 | De landinstellings-id die een alternatieve sorteervolgorde vertegenwoordigt. In dit geval vertegenwoordigt 4096 de sorteervolgorde van de .NET Framework 3.5 en eerdere versies. |
Onderliggende elementen
Geen.
Bovenliggende elementen
Element | Beschrijving |
---|---|
configuration |
Het hoofdelement in elk configuratiebestand dat wordt gebruikt door de common language runtime en .NET Framework toepassingen. |
runtime |
Bevat informatie over opties voor runtime-initialisatie. |
Opmerkingen
Omdat tekenreeksvergelijkings-, sorteer- en hoofdletterbewerkingen die door de System.Globalization.CompareInfo klasse in de .NET Framework 4 worden uitgevoerd, voldoen aan de Unicode 5.1-standaard, kunnen de resultaten van tekenreeksvergelijkingsmethoden, String.Compare(String, String) zoals enString.LastIndexOf(String), afwijken van eerdere versies van de .NET Framework. Als uw toepassing afhankelijk is van verouderd gedrag, kunt u de vergelijkings- en sorteerregels voor tekenreeksen herstellen die zijn gebruikt in de .NET Framework 3.5 en eerdere versies door het element op te slaan in het <CompatSortNLSVersion>
configuratiebestand van uw toepassing.
Belangrijk
Voor het herstellen van verouderde tekenreeksvergelijkings- en sorteerregels moet ook de sort00001000.dll dynamische koppelingsbibliotheek beschikbaar zijn op het lokale systeem.
U kunt ook verouderde tekenreekssorterings- en vergelijkingsregels in een specifiek toepassingsdomein gebruiken door de tekenreeks 'NetFx40_Legacy20SortingBehavior' door te geven aan de SetCompatibilitySwitches methode wanneer u het toepassingsdomein maakt.
Voorbeeld
In het volgende voorbeeld worden twee String objecten geïnstitueerd en wordt de String.Compare(String, String, StringComparison) methode aangeroepen om deze te vergelijken met behulp van de conventies van de huidige cultuur.
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
Wanneer u het voorbeeld uitvoert op de .NET Framework 4, wordt de volgende uitvoer weergegeven:
sta follows a in the sort order.
Dit verschilt volledig van de uitvoer die wordt weergegeven wanneer u het voorbeeld uitvoert op de .NET Framework 3.5:
sta equals a in the sort order.
Als u echter het volgende configuratiebestand toevoegt aan de map van het voorbeeld en vervolgens het voorbeeld uitvoert op de .NET Framework 4, is de uitvoer identiek aan die van het voorbeeld wanneer het wordt uitgevoerd op .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>