System.StringComparer classe

Este artigo fornece observações complementares à documentação de referência para essa API.

Um objeto derivado da classe incorpora StringComparer operações de comparação, igualdade e código hash baseadas em cadeia de caracteres que levam em conta as regras de comparação específicas de maiúsculas e minúsculas e culturais. Você pode usar a StringComparer classe para criar uma comparação específica de tipo para classificar os elementos em uma coleção genérica. Classes como Hashtable, , Dictionary<TKey,TValue>SortedListe SortedList<TKey,TValue> usam a StringComparer classe para fins de classificação.

Uma operação de comparação representada pela classe é definida como diferenciando maiúsculas de minúsculas ou sem diferenciação de maiúsculas e minúsculas StringComparer e usa regras de comparação de palavras (sensíveis à cultura) ou ordinais (sem distinção de cultura). Para obter mais informações sobre regras de comparação de palavras e ordinais, consulte System.Globalization.CompareOptions.

Observação

Você pode baixar a Tabela de Elementos de Agrupamento Unicode Padrão, a versão mais recente da tabela de peso de classificação. A versão específica da tabela de peso de classificação depende da versão das bibliotecas International Components for Unicode instaladas no sistema. Para obter informações sobre versões de ICU e as versões Unicode que elas implementam, veja Baixar ICU.

Para o .NET Framework no Windows, você pode baixar as Tabelas de Peso de Classificação, um conjunto de arquivos de texto que contêm informações sobre os pesos de caracteres usados em operações de classificação e comparação.

Propriedades implementadas

Você pode estar confuso sobre como usar as StringComparer propriedades da classe por causa de uma aparente contradição. A StringComparer classe é declarada (MustInherit no Visual Basic), o que significa que seus membros podem ser invocados somente em um objeto de uma classe derivada abstract da StringComparer classe. A contradição é que cada propriedade da classe é declarada static (Shared no Visual Basic), o StringComparer que significa que a propriedade pode ser invocada sem primeiro criar uma classe derivada.

Você pode chamar uma propriedade diretamente porque cada propriedade realmente retorna uma instância de uma StringComparer classe anônima que é derivada da StringComparer classe. Consequentemente, o tipo de cada valor de propriedade é , que é StringComparera classe base da classe anônima, não o tipo da classe anônima em si. Cada StringComparer propriedade de classe retorna um StringComparer objeto que oferece suporte a maiúsculas e minúsculas predefinidas e regras de comparação.