Classe System.StringComparer

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

Un oggetto derivato dalla StringComparer classe incorpora operazioni di confronto, uguaglianza e codice hash basate su stringhe che tengono conto delle regole di confronto specifiche delle impostazioni cultura e del case. È possibile usare la StringComparer classe per creare un confronto specifico del tipo per ordinare gli elementi in una raccolta generica. Classi come Hashtable, Dictionary<TKey,TValue>SortedList, e SortedList<TKey,TValue> usano la StringComparer classe per scopi di ordinamento.

Un'operazione di confronto rappresentata dalla StringComparer classe viene definita come distinzione tra maiuscole e minuscole o senza distinzione tra maiuscole e minuscole e usa le regole di confronto tra parole (con distinzione delle impostazioni cultura) o ordinali (senza distinzione tra impostazioni cultura). Per altre informazioni sulle regole di confronto di parole e ordinali, vedere System.Globalization.CompareOptions.

Nota

È possibile scaricare la tabella degli elementi Delle regole di confronto Unicode predefinite, la versione più recente della tabella dei pesi di ordinamento. La versione specifica della tabella dei pesi di ordinamento dipende dalla versione delle librerie International Components for Unicode installate nel sistema. Per informazioni sulle versioni ICU e sulle versioni Unicode implementate, vedere Downloading ICU (Download di ICU).

Per .NET Framework in Windows, è possibile scaricare le tabelle ponderate di ordinamento, un set di file di testo che contengono informazioni sui pesi dei caratteri usati nelle operazioni di ordinamento e confronto.

Proprietà implementate

Potresti essere confuso su come usare le proprietà della StringComparer classe a causa di una contraddizione apparentemente. La StringComparer classe è dichiarata abstract (MustInherit in Visual Basic), il che significa che i relativi membri possono essere richiamati solo su un oggetto di una classe derivata dalla StringComparer classe . La contraddizione è che ogni proprietà della StringComparer classe è dichiarata static (Shared in Visual Basic), il che significa che la proprietà può essere richiamata senza prima creare una classe derivata.

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