Partilhar via


Classificação com culturas

Seqüências de caracteres de classificar depende das regras de classificar usadas para comparar e, portanto, o pedido, pares de seqüências de caracteres.Quando seu aplicativo executa uma operação de comparação, ele pode explicitamente especificar a regra de classificar com um ou mais CompareOptions valores de enumeração ou implicitamente especificar uma regra de classificar com um CultureInfo objeto.

O .NET estrutura oferece suporte a palavra, seqüência de caracteres e regras de classificar ordinal.Uma classificar palavra executa uma comparação sensíveis à cultura de seqüências de caracteres em que determinados caracteres Unicode nonalphanumeric podem ter pesos especiais atribuídos a eles.Por exemplo, o hífen ("-") pode ter um peso muito pequeno atribuído a ele para que "cooperação" e "cooperação" sejam exibidas lado a lado em uma lista classificada.Uma seqüência de caracteres de classificar é semelhante a uma classificar de palavra, exceto pelo fato de que não existem em nenhuma casos especiais e todos os símbolos nonalphanumeric vierem antes de todos os caracteres alfanuméricos do Unicode.Uma classificar ordinal compara seqüências com base no valor numérico de cada Char objeto na seqüência de caracteres. Para obter mais informações sobre a palavra, seqüência de caracteres e regras de classificar ordinal, consulte CompareOptions.

O .NET Framework representa seqüências de caracteres com o String classe e cada caractere Unicode em uma seqüência de caracteres com um Char estrutura. Culturas são representadas com o CultureInfo classe e informações específicas de cultura que pertencem a uma comparação é representada pela CompareInfo classe. The String e CompareInfo as classes são as fontes primárias para métodos de comparação. As operações de comparação, use a cultura associada ao thread corrente, a menos que seja especificado algo em contrário.

Quando e como comparar com culturas

Use as diretrizes a seguir para decidir se seu aplicativo deve realizar uma comparação sensíveis à cultura:

  • Se seu aplicativo requer uma operação de classificar depende de uma cultura específica, ele deve usar um método de comparação que especifica um CultureInfo objeto ou CompareOptions parâmetro de enumeração.

  • Se o aplicativo requer uma operação de classificar não é específica para uma cultura específica, ele deve especificar a cultura invariável ou usar uma classificar ordinal.Por exemplo, um aplicativo usa uma comparação ordinal para classificar os nomes de arquivos, exclusões mútuas e pipes nomeados.Para obter mais informações sobre o cultura invariável, consulte Usando a propriedade InvariantCulture.Para obter mais informações sobre uma classificar ordinal, consulte Normalização e classificação.

  • Se seu aplicativo toma uma decisão de segurança com base na classificar de cadeias de caracteres, use uma classificar ordinal.

Observação importante:

Aviso anterior para usar a cultura invariável em uma operação de comparação que é usada para tomar uma decisão de segurança foi substituído.O aplicativo use uma comparação ordinal.

Consulte também

Conceitos

Usando a propriedade InvariantCulture

Normalização e classificação