<Element CompatSortNLSVersion>
Určuje, zda by modul runtime měl při porovnávání řetězců použít starší pořadí řazení.
<Konfigurace>
<Runtime>
<CompatSortNLSVersion>
Syntax
<CompatSortNLSVersion
enabled="4096"/>
Atributy a elementy
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Atributy
Atribut | Popis |
---|---|
enabled |
Požadovaný atribut. Určuje ID národního prostředí, jehož pořadí řazení se má použít. |
Atribut enabled
Hodnota | Popis |
---|---|
4 096 | ID národního prostředí, které představuje alternativní pořadí řazení. V tomto případě 4096 představuje pořadí řazení rozhraní .NET Framework 3.5 a starších verzí. |
Podřízené elementy
Žádné
Nadřazené elementy
Element | Popis |
---|---|
configuration |
Kořenový prvek v každém konfiguračním souboru, který je používán modulem Common Language Runtime (CLR) a aplikacemi rozhraní .NET Framework. |
runtime |
Obsahuje informace o možnostech inicializace modulu runtime. |
Poznámky
Vzhledem k tomu, že porovnání řetězců, řazení a operace malých a malých a malých písmen provedené System.Globalization.CompareInfo třídou v rozhraní .NET Framework 4 odpovídají standardu Unicode 5.1, výsledky metod porovnání řetězců, jako String.Compare(String, String) a String.LastIndexOf(String) se mohou lišit od předchozích verzí rozhraní .NET Framework. Pokud vaše aplikace závisí na starším chování, můžete obnovit pravidla porovnání a řazení řetězců používaná v rozhraní .NET Framework 3.5 a starších verzích zahrnutím elementu <CompatSortNLSVersion>
do konfiguračního souboru vaší aplikace.
Důležité
Obnovení starších pravidel porovnání a řazení řetězců vyžaduje, aby v místním systému byla k dispozici dynamická knihovna sort00001000.dll.
Můžete také použít starší pravidla řazení a porovnání řetězců v konkrétní doméně aplikace předáním řetězce "NetFx40_Legacy20SortingBehavior" metodě SetCompatibilitySwitches při vytváření domény aplikace.
Příklad
Následující příklad vytvoří instanci dvou String objektů a zavolá metodu String.Compare(String, String, StringComparison) k jejich porovnání pomocí konvencí aktuální jazykové verze.
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
Při spuštění příkladu v rozhraní .NET Framework 4 se zobrazí následující výstup:
sta follows a in the sort order.
To se zcela liší od výstupu, který se zobrazí při spuštění příkladu v rozhraní .NET Framework 3.5:
sta equals a in the sort order.
Pokud však přidáte následující konfigurační soubor do adresáře příkladu a pak spustíte příklad v rozhraní .NET Framework 4, výstup je stejný jako výstup vytvořený v příkladu při spuštění v rozhraní .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>