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