StringComparer Classe
TOC
Comprimi il sommario
Espandi il sommario
Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe StringComparer

 

Rappresenta un'operazione di confronto tra stringhe che usa regole specifiche di confronto basate sull'uso di maiuscole e minuscole e specifiche delle impostazioni cultura o per ordinale.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.StringComparer

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

NomeDescrizione
System_CAPS_protmethodStringComparer()

Inizializza una nuova istanza della classe StringComparer.

NomeDescrizione
System_CAPS_pubpropertySystem_CAPS_staticCurrentCulture

Ottiene un oggetto StringComparer che esegue un confronto tra stringhe con distinzione tra maiuscole e minuscole usando le regole di confronto per parola delle impostazioni cultura correnti.

System_CAPS_pubpropertySystem_CAPS_staticCurrentCultureIgnoreCase

Ottiene un oggetto StringComparer che esegue un confronto tra stringhe con distinzione tra maiuscole e minuscole usando le regole di confronto per parola delle impostazioni cultura correnti.

System_CAPS_pubpropertySystem_CAPS_staticInvariantCulture

Ottiene un oggetto StringComparer che esegue un confronto tra stringhe con distinzione tra maiuscole e minuscole usando le regole di confronto per parola della lingua inglese.

System_CAPS_pubpropertySystem_CAPS_staticInvariantCultureIgnoreCase

Ottiene un oggetto StringComparer che esegue un confronto tra stringhe senza distinzione tra maiuscole e minuscole usando le regole di confronto per parola della lingua inglese.

System_CAPS_pubpropertySystem_CAPS_staticOrdinal

Ottiene un oggetto StringComparer che esegue un confronto ordinale tra stringhe con distinzione tra maiuscole e minuscole.

System_CAPS_pubpropertySystem_CAPS_staticOrdinalIgnoreCase

Ottiene un oggetto StringComparer che esegue un confronto ordinale tra stringhe senza distinzione tra maiuscole e minuscole.

NomeDescrizione
System_CAPS_pubmethodCompare(Object, Object)

Quando ne viene eseguito l'override in una classe derivata, confronta due oggetti e restituisce un'indicazione del relativo ordinamento.

System_CAPS_pubmethodCompare(String, String)

Quando ne viene eseguito l'override in una classe derivata, confronta due stringhe e restituisce un'indicazione del relativo ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCreate(CultureInfo, Boolean)

Crea un oggetto StringComparer che confronta le stringhe secondo le regole delle impostazioni cultura specificate.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodEquals(Object, Object)

Quando ne viene eseguito l'override in una classe derivata, indica se due oggetti sono uguali.

System_CAPS_pubmethodEquals(String, String)

Quando ne viene eseguito l'override in una classe derivata, indica se due stringhe sono uguali.

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetHashCode(Object)

Quando ne viene eseguito l'override in una classe derivata, ottiene il codice hash per l'oggetto specificato.

System_CAPS_pubmethodGetHashCode(String)

Quando ne viene eseguito l'override in una classe derivata, ottiene il codice hash per la stringa specificata.

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

Un oggetto derivato dalla StringComparer classe incorpora operazioni di codice hash che prendono in considerazione le regole di confronto di maiuscole e minuscole e specifiche delle impostazioni cultura, l'uguaglianza e confronto basato su stringa. È possibile utilizzare la StringComparer classe per creare un confronto specifico del tipo per ordinare gli elementi in una raccolta generica. Le classi quali Hashtable, Dictionary<TKey, TValue>, SortedList, e SortedList<TKey, TValue> utilizzare la StringComparer classe ai fini dell'ordinamento.

Un'operazione di confronto è rappresentata dalla StringComparer classe è definita per essere rilevante o meno, utilizzare una parola (specifiche delle impostazioni cultura) o le regole di confronto ordinale (indipendente dalle impostazioni cultura). Per ulteriori informazioni sulla parola e regole di confronto ordinale, vedere System.Globalization.CompareOptions.

È chiaro come utilizzare il StringComparer a causa di una contraddizione creare proprietà della classe. La StringComparer classe viene dichiarata abstract (MustInherit in Visual Basic), ovvero i relativi membri può essere richiamato solo su un oggetto di una classe derivata dalla StringComparer classe. La contraddizione consiste nel fatto che ogni proprietà della StringComparer classe viene dichiarata static (Shared in Visual Basic), che significa che la proprietà può essere richiamato senza creare prima una classe derivata.

È possibile chiamare un StringComparer proprietà direttamente perché ogni proprietà restituisce un'istanza di una classe anonima derivata dalla StringComparer classe. Di conseguenza, il tipo di ogni valore della proprietà è StringComparer, che non è la classe di base della classe anonima, il tipo anonimo classe stessa. Ogni StringComparer classe proprietà restituisce un StringComparer oggetto che supporta le regole di confronto e case predefinite.

L'esempio seguente illustra le proprietà e Create metodo la StringComparer classe. Nell'esempio viene illustrato come i diversi StringComparer oggetti ordinamento tre versioni del latino alfabeto.

// 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

*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra:
© 2016 Microsoft