Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe StringComparer

 

Representa uma operação de comparação de cadeia de caracteres que usa regras de comparação ordinal ou com base em cultura e caso específico.

Namespace:   System
Assembly:  mscorlib (em mscorlib.dll)

System.Object
  System.StringComparer

[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class StringComparer : IComparer, IEqualityComparer, 
	IComparer<string>, IEqualityComparer<string>

NomeDescrição
System_CAPS_protmethodStringComparer()

Inicializa uma nova instância da classe StringComparer.

NomeDescrição
System_CAPS_pubpropertySystem_CAPS_staticCurrentCulture

Obtém um objeto StringComparer que executa uma comparação de cadeia de caracteres que diferencia maiúsculas de minúsculas usando as regras de comparação de palavras da cultura atual.

System_CAPS_pubpropertySystem_CAPS_staticCurrentCultureIgnoreCase

Obtém um objeto StringComparer que executa comparações de cadeia de caracteres que não diferenciam maiúsculas de minúsculas, usando as regras de comparação de palavras da cultura atual.

System_CAPS_pubpropertySystem_CAPS_staticInvariantCulture

Obtém um objeto StringComparer que executa uma comparação de cadeia de caracteres que diferencia maiúsculas de minúsculas usando as regras de comparação de palavras da cultura invariável.

System_CAPS_pubpropertySystem_CAPS_staticInvariantCultureIgnoreCase

Obtém um objeto StringComparer que executa uma comparação de cadeia de caracteres que não diferencia maiúsculas de minúsculas usando as regras de comparação de palavras da cultura invariável.

System_CAPS_pubpropertySystem_CAPS_staticOrdinal

Obtém um objeto StringComparer que executa uma comparação de cadeia de caracteres ordinais que diferencia maiúsculas de minúsculas.

System_CAPS_pubpropertySystem_CAPS_staticOrdinalIgnoreCase

Obtém um objeto StringComparer que executa uma comparação de cadeia de caracteres ordinais que não diferencia maiúsculas de minúsculas.

NomeDescrição
System_CAPS_pubmethodCompare(Object, Object)

Quando substituído em uma classe derivada, compara dois objetos e retorna uma indicação de que a ordem relativa.

System_CAPS_pubmethodCompare(String, String)

Quando substituído em uma classe derivada, compara duas cadeias de caracteres e retorna uma indicação de sua ordem de classificação relativa.

System_CAPS_pubmethodSystem_CAPS_staticCreate(CultureInfo, Boolean)

Cria um objeto StringComparer que compara cadeias de caracteres de acordo com as regras de uma cultura especificada.

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_pubmethodEquals(Object, Object)

Quando substituído em uma classe derivada, indica se dois objetos são iguais.

System_CAPS_pubmethodEquals(String, String)

Quando substituído em uma classe derivada, indica se duas cadeias de caracteres são iguais.

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetHashCode(Object)

Quando substituído em uma classe derivada, obtém o código hash para o objeto especificado.

System_CAPS_pubmethodGetHashCode(String)

Quando substituído em uma classe derivada, obtém o código hash para a cadeia de caracteres especificada.

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

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

Uma operação de comparação que é representada pelo StringComparer classe é definida para ser diferencia maiusculas de minúsculas ou maiusculas de minúsculas e usar o word (sensíveis à cultura) ou regras de comparação (sem diferenciação de cultura) ordinal. Para obter mais informações sobre regras de comparação ordinal e word, consulte System.Globalization.CompareOptions.

Pode ser confuso sobre como usar o StringComparer propriedades da classe devido a uma contradição aparente. O StringComparer classe é declarada abstract (MustInherit no Visual Basic), que significa que seus membros pode ser chamado apenas em um objeto de uma classe derivada do StringComparer classe. A contradição é que cada propriedade do StringComparer classe é declarada static (Shared no Visual Basic), que significa que a propriedade pode ser chamado sem primeiro criar uma classe derivada.

Você pode chamar um StringComparer propriedade diretamente porque cada propriedade, na verdade, retorna uma instância de uma classe anônima que é derivada de StringComparer classe. Consequentemente, o tipo de cada valor de propriedade é StringComparer, que é a classe base da classe anônima, não o tipo do anônimo a classe em si. Cada StringComparer classe propriedade retorna um StringComparer objeto que dá suporte a regras predefinidas de caso e comparação.

O exemplo a seguir demonstra as propriedades e o Create método o StringComparer classe. O exemplo ilustra como objetos StringComparer diferentes classificam três versões da letra I em Latin.

// This example demonstrates members of the 
// System.StringComparer class.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Threading;

class Sample 
{
    public static void Main() 
    {
// Create a list of string.
    List<string> list = new List<string>();

// Get the tr-TR (Turkish-Turkey) culture.
    CultureInfo turkish = new CultureInfo("tr-TR");

// Get the culture that is associated with the current thread.
    CultureInfo thisCulture = Thread.CurrentThread.CurrentCulture;

// Get the standard StringComparers.
    StringComparer invCmp =   StringComparer.InvariantCulture;
    StringComparer invICCmp = StringComparer.InvariantCultureIgnoreCase;
    StringComparer currCmp = StringComparer.CurrentCulture;
    StringComparer currICCmp = StringComparer.CurrentCultureIgnoreCase;
    StringComparer ordCmp = StringComparer.Ordinal;
    StringComparer ordICCmp = StringComparer.OrdinalIgnoreCase;

// Create a StringComparer that uses the Turkish culture and ignores case.
    StringComparer turkICComp = StringComparer.Create(turkish, true);

// Define three strings consisting of different versions of the letter I.
// LATIN CAPITAL LETTER I (U+0049)
    string capitalLetterI = "I";  

// LATIN SMALL LETTER I (U+0069)
    string smallLetterI   = "i";

// LATIN SMALL LETTER DOTLESS I (U+0131)
    string smallLetterDotlessI = "\u0131";

// Add the three strings to the list.
    list.Add(capitalLetterI);
    list.Add(smallLetterI);
    list.Add(smallLetterDotlessI);

// Display the original list order.
    Display(list, "The original order of the list entries...");

// Sort the list using the invariant culture.
    list.Sort(invCmp);
    Display(list, "Invariant culture...");
    list.Sort(invICCmp);
    Display(list, "Invariant culture, ignore case...");

// Sort the list using the current culture.
    Console.WriteLine("The current culture is \"{0}\".", thisCulture.Name);
    list.Sort(currCmp);
    Display(list, "Current culture...");
    list.Sort(currICCmp);
    Display(list, "Current culture, ignore case...");

// Sort the list using the ordinal value of the character code points.
    list.Sort(ordCmp);
    Display(list, "Ordinal...");
    list.Sort(ordICCmp);
    Display(list, "Ordinal, ignore case...");

// Sort the list using the Turkish culture, which treats LATIN SMALL LETTER 
// DOTLESS I differently than LATIN SMALL LETTER I.
    list.Sort(turkICComp);
    Display(list, "Turkish culture, ignore case...");
    }

    public static void Display(List<string> lst, string title)
    {
    Char c;
    int  codePoint;
    Console.WriteLine(title);
    foreach (string s in lst)
        {
        c = s[0];
        codePoint = Convert.ToInt32(c);
        Console.WriteLine("0x{0:x}", codePoint); 
        }
    Console.WriteLine();
    }
}
/*
This code example produces the following results:

The original order of the list entries...
0x49
0x69
0x131

Invariant culture...
0x69
0x49
0x131

Invariant culture, ignore case...
0x49
0x69
0x131

The current culture is "en-US".
Current culture...
0x69
0x49
0x131

Current culture, ignore case...
0x49
0x69
0x131

Ordinal...
0x49
0x69
0x131

Ordinal, ignore case...
0x69
0x49
0x131

Turkish culture, ignore case...
0x131
0x49
0x69

*/

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: