Partilhar via


Classificação com culturas

Seqüências de caracteres de classificação depende de regras de classificação 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 classificação com uma ou mais CompareOptions valores de enumeração ou implicitamente, especificar uma regra de classificação com um CultureInfo objeto.

A.NET Framework oferece suporte a palavra, seqüência de caracteres e regras de classificação ordinal. Uma classificação de word executa uma comparação de cultura de seqüências de caracteres na qual determinados caracteres não alfanuméricos do Unicode podem ter os pesos especiais atribuídos a eles. Por exemplo, o hífen ("-") pode ter um peso muito pequeno, atribuído a ele, de forma que "coop" e "cooperação" aparecem ao lado uns dos outros em uma lista classificada. Uma classificação de seqüência de caracteres é semelhante a uma classificação do word, exceto que não há nenhum casos especiais e todos os símbolos não alfanuméricos vierem antes de todos os caracteres alfanuméricos do Unicode. Uma classificação ordinal compara seqüências com base no valor numérico de cada Char o objeto na seqüência de caracteres. Para obter mais informações sobre o word, a seqüência de caracteres e regras de classificação ordinal, consulte CompareOptions.

A.NET Framework representa seqüências 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 é representado pela CompareInfo classe. O String e CompareInfo classes são as fontes primárias de métodos de comparação. Operações de comparação usam a cultura associada ao thread atual, a menos que especificado em contrário.

Quando e como comparar com culturas

Use as seguintes diretrizes para decidir se seu aplicativo deve executar uma comparação de cultura:

  • Se seu aplicativo requer uma operação de classificação 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 classificação não é específica para uma cultura específica, ele deve especificar a cultura invariável ou usar uma classificação ordinal. Por exemplo, um aplicativo usa uma comparação ordinal para classificar os nomes dos 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 classificação ordinal, consulte Normalização e classificação.

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

Observação importanteImportante

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

Consulte também

Conceitos

Usando a propriedade InvariantCulture

Normalização e classificação