Sdílet prostřednictvím


Řazení pomocí jazykových verzí

Řazení řetězců závisí na pravidlech řazení používaných k porovnávání, a pak řazení, dvojice řetězců. Pokud aplikace provádí operace porovnání, lze buď explicitně zadat pravidlo řazení pomocí jedné nebo více hodnot výčtu CompareOptions nebo zadat implicitně pravidlo řazení s objektem CultureInfo.

Rozhraní .NET Framework podporuje slovní, řetězcové a pořadové pravidla řazení. Řazení slov provádí porovnání řetězců zohledňující jazykovou verzi, ve které určité nealfanumerické znaky Unicode mohou mít zvláštní váhu, která jim byla přidělena. Například pomlčka ("-") bude mít pravděpodobně velmi malou přiřazenou váhu, aby se "coop" a "co-op" zobrazilo vedle sebe v seřazeném seznamu. Řazení řetězců je podobné řazení slov, s výjimkou toho, že zde nejsou žádné zvláštní případy a všechny nealfanumerické symboly předcházejí všechny alfanumerické znaky Unicode. Pořadové řazení porovná řetězec podle číselné hodnoty každého objektu Char v řetězci. Další informace o pravidlech řazení slov, řetězců a pořadí naleznete v tématu CompareOptions.

Rozhraní .NET Framework představuje řetězec třídou String a každý znak Unicode v řetězci strukturou Char. Jazykové verze jsou reprezentovány třídou CultureInfo a informace specifické pro jednotlivé jazykové verze, které se vztahují k porovnání, jsou reprezentovány třídou CompareInfo. Třídy String a CompareInfo jsou primární zdroje pro porovnání metod. Operace porovnání používají přidružené jazykové verze s aktuálním vláknem, pokud není stanoveno jinak.

Kdy a jak porovnat s jazykovými verzemi

Řiďte se následujícími pokyny k rozhodnutí, zda má vaše aplikace provést porovnání citlivé na jazykovou verzi:

  • Jestliže vaše aplikace požaduje operaci řazení, která závisí na konkrétní jazykové verzi, měla by použít metodu porovnání, která určuje objekt CultureInfo nebo parametr výčtu CompareOptions.

  • Pokud aplikace vyžaduje operaci řazení, která není specifická pro konkrétní jazykovou verzi, měla by určit nezávislou jazykovou verzi nebo použít pořadové řazení. Aplikace například používá pořadové porovnávání k řazení názvů souborů, mutexů a pojmenovaných kanálů. Další informace o nezávislé jazykové verzi naleznete v tématu Použití vlastnosti InvariantCulture. Další informace o pořadovém řazení naleznete v tématu Normalizace a řazení.

  • Pokud vaše aplikace provede rozhodnutí zabezpečení na základě řazení řetězců, použijte pořadové řazení.

Důležitá poznámkaDůležité

Předchozí rada k použití nezávislé jazykové verze v operaci porovnání, která se používá k rozhodování zabezpečení, byla nahrazena.Vhodnější je, když aplikace použije pořadové porovnávání.

Viz také

Koncepty

Použití vlastnosti InvariantCulture

Normalizace a řazení