<CompatSortNLSVersion> (Elemento)
Especifica que el runtime debe utilizar criterios de ordenación heredados al realizar comparaciones de cadenas.
<CompatSortNLSVersion
enabled="4096"/
Atributos y elementos
En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Atributo |
Descripción |
---|---|
enabled |
Atributo necesario. Especifica el identificador de configuración regional cuyo criterio de ordenación se va a usar. |
Atributo enabled
Valor |
Descripción |
---|---|
4096 |
El Id. de configuración regional que representa un criterio de ordenación alternativo. En este caso, 4096 representa el criterio de ordenación de .NET Framework 3.5 y versiones anteriores. |
Elementos secundarios
Ninguno.
Elementos primarios
Elemento |
Descripción |
---|---|
configuration |
Elemento raíz de cada archivo de configuración usado por las aplicaciones de Common Language Runtime y .NET Framework. |
runtime |
Contiene información sobre las opciones de inicialización del motor en tiempo de ejecución. |
Comentarios
Porque las operaciones de comparación de cadenas, ordenación y mayúsculas y minúsculas realizadas por la clase System.Globalization.CompareInfo en .NET Framework 4 cumplen el estándar Unicode 5.1, los resultados de los métodos de comparación de cadenas como String.Compare(String, String) y String.LastIndexOf(String) pueden diferir de las versiones anteriores de .NET Framework. Si su aplicación depende del comportamiento heredado, puede restaurar la comparación de cadenas y las reglas de ordenación que se utilizan en .NET Framework 3.5 y en las versiones anteriores incluyendo el elemento <CompatSortNLSVersion> en el archivo de configuración de la aplicación.
Importante |
---|
La restauración de la comparación de cadenas heredadas y las reglas de ordenación también requieren que la biblioteca de vínculos dinámicos sort00001000.dll esté disponible en el sistema local. |
También puede utilizar reglas de comparación y ordenación de cadenas heredadas en un dominio de aplicación específico pasando la cadena "NetFx40_Legacy20SortingBehavior" al método SetCompatibilitySwitches al crear el dominio de aplicación.
Ejemplo
En el ejemplo siguiente se crea una instancia de dos objetos String y se llama al método String.Compare(String, String, StringComparison) para compararlos mediante el uso de las convenciones de la referencia cultural actual.
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);
}
}
Al ejecutar el ejemplo en .NET Framework 4, muestra el siguiente resultado.
sta follows a in the sort order.
Esto es completamente diferente a los resultados que se muestran cuando se ejecuta el ejemplo en .NET Framework 3.5.
sta equals a in the sort order.
Sin embargo, si agrega el siguiente archivo de configuración al directorio del ejemplo y, a continuación, ejecuta el ejemplo en .NET Framework 4, el resultado es idéntico al producido en el ejemplo cuando se ejecuta en .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
Vea también
Referencia
Esquema de la configuración de Common Language Runtime
Otros recursos
Esquema de los archivos de configuración de .NET Framework
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Mayo de 2010 |
Observe que el modificador <CompatSortNLSVersion> depende de sort00001000.dll. |
Corrección de errores de contenido. |