<CompatSortNLSVersion> elemento<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 > elemento<CompatSortNLSVersion> Element

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

ValoreValue 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.NET Framework 3.5 e versioni precedenti.In this case, 4096 represents the sort order of the .NET Framework 3.5.NET Framework 3.5 and earlier versions.

Elementi figlioChild Elements

Nessuno.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

Operazioni di maiuscole e minuscole, ordinamento e confronto di stringhe eseguita dal System.Globalization.CompareInfo classe il .NET Framework 4.NET Framework 4 conforme allo standard Unicode 5.1, i risultati dei metodi di confronto di stringa, ad esempio String.Compare(String, String) e String.LastIndexOf(String) potrebbero essere diversi da versioni precedenti di .NET Framework.Because string comparison, sorting, and casing operations performed by the System.Globalization.CompareInfo class in the .NET Framework 4.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 il confronto di stringhe e le regole di ordinamento utilizzati in .NET Framework 3.5.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.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.NET Framework 4, viene visualizzato l'output seguente.When you run the example on the .NET Framework 4.NET Framework 4, it displays the following output.

sta follows a in the sort order.  

Si tratta di un output completamente diverso da quello che viene visualizzato quando si esegue l'esempio in .NET Framework 3.5.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.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 successivamente si esegue l'esempio in .NET Framework 4.NET Framework 4, l'output è identico a quello prodotto dall'esempio quando viene eseguito in .NET Framework 3.5.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.NET Framework 4, the output is identical to that produced by the example when it is run on the .NET Framework 3.5.NET Framework 3.5.

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

Vedere ancheSee Also

Schema delle impostazioni di runtimeRuntime Settings Schema
Schema dei file di configurazioneConfiguration File Schema