System.StringComparer, klasa
Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.
Obiekt pochodzący z StringComparer klasy uosabia operacje porównania, równości i kodu skrótu oparte na ciągach, które uwzględniają reguły porównania specyficzne dla wielkości liter i kultury. Za pomocą StringComparer klasy można utworzyć porównanie specyficzne dla typu w celu sortowania elementów w kolekcji ogólnej. Klasy takie jak Hashtable, Dictionary<TKey,TValue>, SortedListi SortedList<TKey,TValue> używają StringComparer klasy do celów sortowania.
Operacja porównania reprezentowana przez StringComparer klasę jest definiowana tak, aby uwzględniała wielkość liter lub bez uwzględniania wielkości liter i używała wyrazu (wrażliwego na kulturę) lub porządkowego (niewrażliwego na kulturę) reguł porównania. Aby uzyskać więcej informacji na temat reguł porównywania wyrazów i porządkowych, zobacz System.Globalization.CompareOptions.
Uwaga
Możesz pobrać domyślną tabelę elementów sortowania Unicode, najnowszą wersję tabeli wagi sortowania. Określona wersja tabeli wagi sortowania zależy od wersji międzynarodowych składników bibliotek Unicode zainstalowanych w systemie. Aby uzyskać informacje na temat wersji ICU i implementowanych wersji Unicode, zobacz Pobieranie ICU.
W przypadku programu .NET Framework w systemie Windows można pobrać tabele wagi sortowania, zestaw plików tekstowych zawierających informacje na temat wag znaków używanych w operacjach sortowania i porównywania.
Zaimplementowane właściwości
Możesz być zdezorientowany, jak używać StringComparer właściwości klasy z powodu pozornej sprzeczności. Klasa StringComparer jest zadeklarowana abstract
(MustInherit
w Visual Basic), co oznacza, że jej składowe mogą być wywoływane tylko na obiekcie klasy pochodzącej StringComparer z klasy. Sprzeczność polega na tym, że każda właściwość StringComparer klasy jest zadeklarowana static
(Shared
w Visual Basic), co oznacza, że właściwość można wywołać bez uprzedniego utworzenia klasy pochodnej.
Właściwość można wywołać StringComparer bezpośrednio, ponieważ każda właściwość rzeczywiście zwraca wystąpienie anonimowej klasy pochodzącej StringComparer z klasy. W związku z tym typ każdej wartości właściwości to StringComparer, która jest klasą bazową klasy anonimowej, a nie typem samej klasy anonimowej. Każda StringComparer właściwość klasy zwraca StringComparer obiekt, który obsługuje wstępnie zdefiniowany przypadek i reguły porównania.