Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í textu provádí porovnání řetězců s ohledem na kulturní rozdíly. Některé nealfanumerické znaky mohou mít přiřazeny 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 nealfanumerické znaky 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 operacích řazení a porovnání v operačních systémech Windows, naleznete v tématu Tabulky hmotnosti pro řazení. Tabulku hmotnosti řazení pro Linux a macOS najdete v tabulce výchozích prvků kolace unicode. Konkrétní verze tabulky priorit řazení v Linuxu a macOS závisí na verzi knihoven International Components for Unicode nainstalovaných na systému. Informace o verzích ICU a verzích Unicode, které implementují, naleznete v oddílu 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 porovnání z pohledu uživatele je nejlépe provádět pomocí jazykových voleb (s použitím aktuální kultury), zatímco porovnání zabezpečení by mělo specifikovat Ordinal nebo OrdinalIgnoreCase.
Řazení citlivá na kulturní specifika
Poznámka:
.NET Core spuštěný jenom v systémech Linux a macOS: Chování kolace pro kultury jazyka C a Posix je vždy citlivé na velikost písmen, protože tyto kultury nepoužívají očekávané Unicode pořadí kolace. 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.