CompareOptions Výčtu

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Možnosti CompareOptions označují citlivost písmen nebo nutnost ignorovat typy znaků.

.NET používá tři různé způsoby řazení: řazení slov, řazení řetězců a řadové řazení. Řazení slov provádí porovnání řetězců citlivých na jazykovou verzi. Některé neosamocené znaky mohou mít přiřazené speciální váhy. Například spojovník ("-") může mít přiřazenou velmi malou váhu, aby se vedle sebe zobrazovaly "coop" a "co-op" v seřazeném seznamu. Řazení řetězců je podobné řazení slov s tím rozdílem, že neexistují žádné zvláštní případy. Proto všechny neosamocené symboly přicházejí před všechny alfanumerické znaky. Řadové řazení porovnává řetězce na základě hodnot Unicode každého prvku řetězce. Informace o sadě textových souborů, které obsahují informace o hmotnosti znaků použitých při řazení a porovnávání operací pro operační systémy Windows, naleznete v tématu Řazení tabulek váhy. Tabulku hmotnosti řazení pro Linux a macOS najdete v tabulce výchozích prvků kolace unicode. Konkrétní verze tabulky hmotnosti řazení v Systému Linux a macOS závisí na verzi knihoven International Components for Unicode nainstalovaných v systému. Informace o verzích ICU a verzích Unicode, které implementují, najdete v tématu Stažení ICU.

Hodnotu StringSort lze použít pouze s CompareInfo.Compare a CompareInfo.GetSortKey. ArgumentException je vyvolán, pokud je hodnota StringSort použita s CompareInfo.IsPrefix, CompareInfo.IsSuffix, CompareInfo.IndexOfnebo CompareInfo.LastIndexOf.

Poznámka:

Pokud je to možné, měli byste použít metody porovnání řetězců, které přijímají CompareOptions hodnotu k určení druhu očekávaného porovnání. Obecně platí, že uživatelsky orientované porovnání nejlépe obslouží použití jazykových možností (s použitím aktuální jazykové verze), zatímco porovnání zabezpečení by mělo být zadáno Ordinal nebo OrdinalIgnoreCase.

Řazení citlivá na jazykovou verzi

Poznámka:

.NET Core spuštěné jenom v systémech Linux a macOS: Chování kolace pro jazykové verze jazyka C a Posix je vždy citlivé na velká a malá písmena, protože tyto jazykové verze nepoužívají očekávané pořadí kolace Unicode. Doporučujeme použít jinou jazykovou verzi než jazyk C nebo Posix pro provádění operací řazení nerozlišující malá a velká písmena.