Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Spécifie que le runtime doit utiliser des ordres de tri hérités lors de l’exécution de comparaisons de chaînes.
<Configuration>
<Duree>
<CompatSortNLSVersion>
Syntaxe
<CompatSortNLSVersion
enabled="4096"/>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributes
| Caractéristique | Descriptif |
|---|---|
enabled |
Attribut obligatoire. Spécifie l’ID de paramètres régionaux dont l’ordre de tri doit être utilisé. |
Attribut enabled
| Valeur | Descriptif |
|---|---|
| 4096 | ID de paramètres régionaux qui représente un autre ordre de tri. Dans ce cas, 4096 représente l’ordre de tri des versions .NET Framework 3.5 et antérieures. |
Éléments enfants
Aucun.
Éléments parents
| Élément | Descriptif |
|---|---|
configuration |
Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework. |
runtime |
Contient des informations sur les options d'initialisation du runtime. |
Remarques
Étant donné que la comparaison de chaînes, le tri et les opérations de casse effectuées par la System.Globalization.CompareInfo classe dans .NET Framework 4 sont conformes à la norme Unicode 5.1, les résultats des méthodes de comparaison de chaînes telles que String.Compare(String, String) et String.LastIndexOf(String) peuvent différer des versions précédentes du .NET Framework. Si votre application dépend du comportement hérité, vous pouvez restaurer la comparaison de chaînes et les règles de tri utilisées dans .NET Framework 3.5 et les versions antérieures en incluant l’élément dans le <CompatSortNLSVersion> fichier de configuration de votre application.
Important
La restauration des règles de comparaison de chaînes héritées et de tri nécessite également que la bibliothèque de liens dynamiques sort00001000.dll soit disponible sur le système local.
Vous pouvez également utiliser des règles de tri et de comparaison de chaîne héritées dans un domaine d’application spécifique en passant la chaîne « NetFx40_Legacy20SortingBehavior » à la SetCompatibilitySwitches méthode lorsque vous créez le domaine d’application.
Example
L’exemple suivant instancie deux String objets et appelle la String.Compare(String, String, StringComparison) méthode pour les comparer à l’aide des conventions de la culture actuelle.
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
Lorsque vous exécutez l’exemple sur .NET Framework 4, il affiche la sortie suivante :
sta follows a in the sort order.
Ceci est complètement différent de la sortie affichée lorsque vous exécutez l’exemple sur le .NET Framework 3.5 :
sta equals a in the sort order.
Toutefois, si vous ajoutez le fichier de configuration suivant au répertoire de l’exemple, puis exécutez l’exemple sur .NET Framework 4, la sortie est identique à celle produite par l’exemple lorsqu’elle est exécutée sur .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>