Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica que o runtime deve usar ordens de classificação herdadas ao executar comparações de cadeia de caracteres.
<configuração>
<Runtime>
<CompatSortNLSVersion>
Sintaxe
<CompatSortNLSVersion
enabled="4096"/>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
enabled |
Atributo necessário. Especifica a ID da localidade cuja ordem de classificação deve ser usada. |
Atributo habilitado
| Value | Description |
|---|---|
| 4096 | A ID da localidade que representa uma ordem de classificação alternativa. Nesse caso, o 4096 representa a ordem de classificação do .NET Framework 3.5 e versões anteriores. |
Elementos filho
Nenhum.
Elementos pai
| Elemento | Description |
|---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework. |
runtime |
Contém informações sobre opções de inicialização do runtime. |
Observações
Como as operações de comparação, classificação e casing de cadeia de caracteres executadas pela System.Globalization.CompareInfo classe no .NET Framework 4 estão em conformidade com o padrão Unicode 5.1, os resultados de métodos de comparação de cadeia de caracteres, como String.Compare(String, String) e String.LastIndexOf(String) podem diferir das versões anteriores do .NET Framework. Se o aplicativo depender do comportamento herdado, você poderá restaurar as regras de comparação e classificação de cadeia de caracteres usadas no .NET Framework 3.5 e versões anteriores, incluindo o <CompatSortNLSVersion> elemento no arquivo de configuração do aplicativo.
Importante
Restaurar regras de comparação e classificação de cadeias de caracteres herdadas também requer que a biblioteca de links dinâmicos sort00001000.dll esteja disponível no sistema local.
Você também pode usar regras de classificação e comparação de cadeia de caracteres herdadas em um domínio de aplicativo específico passando a cadeia de caracteres "NetFx40_Legacy20SortingBehavior" para o SetCompatibilitySwitches método ao criar o domínio do aplicativo.
Example
O exemplo a seguir cria uma instância de dois String objetos e chama o String.Compare(String, String, StringComparison) método para compará-los usando as convenções da cultura atual.
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 você executa o exemplo no .NET Framework 4, ele exibe a seguinte saída:
sta follows a in the sort order.
Isso é completamente diferente da saída exibida quando você executa o exemplo no .NET Framework 3.5:
sta equals a in the sort order.
No entanto, se você adicionar o arquivo de configuração a seguir ao diretório do exemplo e executar o exemplo no .NET Framework 4, a saída será idêntica à produzida pelo exemplo quando ele é executado no .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>