Compartir a través de


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

Nota importanteImportante

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.