Condividi tramite


Classe System.StringComparer

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

Un oggetto derivato dalla classe StringComparer incorpora operazioni di confronto, uguaglianza e codice hash basate su stringhe che tengono conto delle regole di confronto specifiche della cultura e del caso. È 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 classe StringComparer è definita come sensibile o insensibile ai caratteri maiuscoli e minuscoli, e utilizza rispettivamente le regole di confronto delle parole (sensibile alla cultura) o ordinali (insensibile alla cultura). Per altre informazioni sulle regole di confronto di parole e ordinali, vedere System.Globalization.CompareOptions.

Annotazioni

È possibile scaricare la Tabella degli Elementi di Collazione Unicode Predefinita, l'ultima versione 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 di ICU e sulle versioni Unicode implementate, vedere 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.