Condividi tramite


Elemento <CompatSortNLSVersion>

Specifica che nel runtime devono essere utilizzati gli ordinamenti legacy quando si eseguono i confronti di stringhe.

<CompatSortNLSVersion  
   enabled="4096"/

Attributi ed elementi

Nelle sezioni seguenti vengono illustrati attributi, elementi figlio e padre.

Attributi

Attribute

Oggetto di descrizione

enabled

Attributo obbligatorio.

Specifica l'ID delle impostazioni locali di cui deve essere utilizzato l'ordinamento.

Attributo enabled

Value

Oggetto di descrizione

4096

ID impostazioni locali mediante il quale viene rappresentato un ordinamento alternativo. In questo caso, 4096 rappresenta l'ordinamento di .NET Framework 3.5 e versioni precedenti.

Elementi figlio

Nessuno.

Elementi padre

Elemento

Oggetto di descrizione

configuration

Elemento radice in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

runtime

Contiene informazioni sulle opzioni di inizializzazione in fase di esecuzione.

Note

Dal momento che le operazioni di confronto tra stringhe, ordinamento e combinazione di maiuscole e minuscole eseguite dalla classe System.Globalization.CompareInfo in .NET Framework 4 sono conformi allo standard Unicode 5.1, i risultati dei metodi di confronto di stringhe quali String.Compare(String, String) e String.LastIndexOf(String) potrebbero differire dalle versioni precedenti di .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 e nelle versioni precedenti includendo l'elemento <CompatSortNLSVersion> nel file di configurazione dell'applicazione.

Nota importanteImportante

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.

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

Esempio

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.

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
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);       
   }
}

Quando si esegue l'esempio su .NET Framework 4, viene visualizzato l'output seguente.

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.

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, l'output è identico a quello prodotto dall'esempio quando viene eseguito in .NET Framework 3.5.

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

Vedere anche

Riferimenti

Schema delle impostazioni dell'ambiente di esecuzione

Altre risorse

Schema dei file di configurazione per .NET Framework

Cronologia delle modifiche

Data

Cronologia

Motivo

Maggio 2010

È stato notato che l'opzione <CompatSortNLSVersion> dipende da sort00001000.dll.

Correzione di bug nel contenuto.