<CompatSortNLSVersion> Elemento
Especifica que o runtime deve usar ordens de classificação herdada ao realizar comparações de seqüência de caracteres.
<CompatSortNLSVersion
enabled="4096"/
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho, e elementos pai.
Atributos
Atributo |
Descrição |
---|---|
enabled |
Atributo obrigatório. Especifica a identificação de localidade cuja ordem de classificação deve ser usada. |
Atributo enabled
Valor |
Descrição |
---|---|
4096 |
A identificação de localidade que representa uma ordem de classificação alternativa. Nesse caso, 4096 representa a ordem de classificação de .NET Framework 3.5 e versões anteriores. |
Elementos filho
Nenhum.
Elementos pai
Elemento |
Descrição |
---|---|
configuration |
O elemento raiz em cada arquivo de configuração usadas pelos common language runtime e .NET Framework aplicativos. |
runtime |
Contém informações sobre as opções de inicialização do runtime. |
Comentários
Porque a comparação de seqüência de caracteres, classificação e operações de capitalização realizada pelo System.Globalization.CompareInfo classe na .NET Framework 4 está de acordo com o 5.1 Unicode padrão, os resultados dos métodos de comparação de seqüência de caracteres, como String.Compare(String, String) e String.LastIndexOf(String) podem ser diferentes das versões anteriores do.NET Framework. Se seu aplicativo depende do comportamento herdado, você pode restaurar a comparação de seqüência de caracteres e regras de classificação usadas na .NET Framework 3.5 e versões anteriores, incluindo o <CompatSortNLSVersion> elemento no arquivo de configuração do. seu aplicativo
Importante |
---|
Restaurando a comparação de seqüências de legado e regras de classificação também requer uma biblioteca de vínculo dinâmico sort00001000.dll esteja disponível no sistema local. |
Você também pode usar regras de classificação e comparação de seqüência herdados em um domínio de aplicativo específico, passando a seqüência de caracteres "netfx40_legacy20sortingbehavior" para o SetCompatibilitySwitches método quando você cria o domínio de aplicativo.
Exemplo
O exemplo a seguir instancia dois String objetos e chama o String.Compare(String, String, StringComparison) método compará-las usando as convenções de cultura atual.
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 você executa o exemplo na .NET Framework 4, ele exibe a saída a seguir.
sta follows a in the sort order.
Isso é completamente diferente da que é exibida quando você executar o exemplo saída do .NET Framework 3.5.
sta equals a in the sort order.
No entanto, se você adicionar a seguinte configuração de diretório do exemplo do arquivo e, em seguida, executar o exemplo .NET Framework 4, a saída é idêntica ao produzido pelo exemplo, quando ele é executado na .NET Framework 3.5.
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
Consulte também
Referência
Outros recursos
Esquema do arquivo de configuração para o.NET Framework
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Maio de 2010 |
Observe que o <CompatSortNLSVersion> switch depende sort00001000.dll. |
Correção de bug de conteúdo. |