<elemento > CompatSortNLSVersion<CompatSortNLSVersion> Element

Specifica che nel runtime devono essere utilizzati ordinamenti legacy quando si eseguono confronti di stringhe.Specifies that the runtime should use legacy sort orders when performing string comparisons.

<configuration> <configuration>
    <runtime >   <runtime>
     <CompatSortNLSVersion >    <CompatSortNLSVersion>

SintassiSyntax

<CompatSortNLSVersion    
   enabled="4096"/>  

Attributi ed elementiAttributes and Elements

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.The following sections describe attributes, child elements, and parent elements.

AttributiAttributes

AttributoAttribute DescrizioneDescription
enabled Attributo obbligatorio.Required attribute.

Specifica l'ID delle impostazioni locali di cui deve essere utilizzato l'ordinamento.Specifies the locale ID whose sort order is to be used.

Attributo enabledenabled Attribute

ValueValue DescrizioneDescription
40964096 ID impostazioni locali mediante il quale viene rappresentato un ordinamento alternativo.The locale ID that represents an alternate sort order. In questo caso, 4096 rappresenta l'ordinamento di .NET Framework 3,5 e versioni precedenti.In this case, 4096 represents the sort order of the .NET Framework 3.5 and earlier versions.

Elementi figlioChild Elements

Nessuna.None.

Elementi padreParent Elements

ElementoElement DescrizioneDescription
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contiene informazioni sulle opzioni di inizializzazione in fase di esecuzione.Contains information about runtime initialization options.

NoteRemarks

Poiché le operazioni di confronto tra stringhe, ordinamento e maiuscole e minuscole eseguite dalla classe System.Globalization.CompareInfo nel .NET Framework 4 sono conformi allo standard Unicode 5,1, i risultati dei metodi di confronto tra stringhe, ad esempio String.Compare(String, String) e String.LastIndexOf(String), possono differire dalle versioni precedenti del .NET Framework.Because string comparison, sorting, and casing operations performed by the System.Globalization.CompareInfo class in the .NET Framework 4 conform to the Unicode 5.1 standard, the results of string comparison methods such as String.Compare(String, String) and String.LastIndexOf(String) may differ from previous versions of the .NET Framework. Se l'applicazione dipende dal comportamento legacy, è possibile ripristinare le regole di ordinamento e confronto delle stringhe utilizzate nel .NET Framework 3,5 e nelle versioni precedenti includendo l'elemento <CompatSortNLSVersion> nel file di configurazione dell'applicazione.If your application depends on legacy behavior, you can restore the string comparison and sorting rules used in the .NET Framework 3.5 and earlier versions by including the <CompatSortNLSVersion> element in your application's configuration file.

Importante

Per il ripristino del confronto di stringhe legacy e delle regole di ordinamento è necessaria inoltre la disponibilità della libreria di collegamento dinamico sort00001000.dll nel sistema locale.Restoring legacy string comparison and sorting rules also requires the sort00001000.dll dynamic link library to be available on the local system.

È inoltre possibile utilizzare l'ordinamento delle stringhe legacy e le regole di confronto in un dominio dell'applicazione specifico passando la stringa "NetFx40_Legacy20SortingBehavior" al metodo SetCompatibilitySwitches quando si crea il dominio dell'applicazione.You can also use legacy string sorting and comparison rules in a specific application domain by passing the string "NetFx40_Legacy20SortingBehavior" to the SetCompatibilitySwitches method when you create the application domain.

EsempioExample

Nell'esempio seguente viene creata un'istanza di due oggetti String e viene chiamato il metodo String.Compare(String, String, StringComparison) per confrontarle utilizzando le convenzioni delle impostazioni cultura correnti.The following example instantiates two String objects and calls the String.Compare(String, String, StringComparison) method to compare them by using the conventions of the current culture.

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

Quando si esegue l'esempio in .NET Framework 4, viene visualizzato l'output seguente:When you run the example on the .NET Framework 4, it displays the following output:

sta follows a in the sort order.  

Questo è completamente diverso dall'output visualizzato quando si esegue l'esempio nella .NET Framework 3,5:This is completely different from the output that is displayed when you run the example on the .NET Framework 3.5:

sta equals a in the sort order.  

Tuttavia, se si aggiunge il file di configurazione seguente alla directory dell'esempio e quindi si esegue l'esempio in .NET Framework 4, l'output sarà identico a quello prodotto dall'esempio quando viene eseguito nel .NET Framework 3,5.However, if you add the following configuration file to the example's directory and then run the example on the .NET Framework 4, the output is identical to that produced by the example when it is run on the .NET Framework 3.5.

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

Vedere ancheSee also