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.
Operace řetězců citlivé na jazykovou verzi jsou výhodné, pokud vytváříte aplikace navržené tak, aby zobrazovaly výsledky uživatelům na základě jazykové verze. Ve výchozím nastavení metody citlivé na kulturu získávají kulturu pro použití z vlastnosti CurrentCulture aktuálního vlákna.
Někdy nejsou operace řetězce citlivé na kulturní zvláštnosti požadovaným chováním. Použití operací citlivých na jazykovou verzi, pokud by výsledky měly být nezávislé na jazykové verzi, může způsobit selhání kódu aplikace u jazykových verzí s vlastními mapováními případů a pravidly řazení. Příklad najdete v části Porovnání řetězců, které používají aktuální jazykovou verzi v Osvědčených postupech pro používání řetězců.
Zda by operace s řetězci měly být kulturně citlivé nebo nerozeznává kulturní rozdíly, závisí na tom, jak vaše aplikace používá výsledky. Řetězcové operace, které zobrazují uživateli výsledky, by měly být obvykle citlivé na kulturní specifika. Pokud například aplikace zobrazí seřazený seznam lokalizovaných řetězců ve výběrovém poli seznamu, měla by aplikace provádět řazení citlivé na jazykovou verzi.
Výsledky řetězcových operací, které se používají interně, by obvykle měly být nezávislé na kulturních rozdílech. Obecně platí, že pokud aplikace pracuje s názvy souborů, formáty trvalosti nebo symbolickými informacemi, které se uživateli nezobrazují, výsledky operací s řetězci by se neměly lišit podle jazykové verze. Pokud například aplikace porovná řetězec a určí, zda jde o rozpoznanou značku XML, nemělo by být porovnání citlivé na kulturní rozdíly. Pokud je navíc rozhodnutí o zabezpečení založeno na výsledku operace porovnání řetězců nebo úpravy malých a velkých písmen, měla by být operace nezávislá na kulturních aspektech, aby se zajistilo, že výsledek nebude ovlivněn hodnotou CurrentCulture.
Většina metod .NET, které ve výchozím nastavení provádějí operace s řetězcem citlivé na kulturní prostředí, nabízí také verzi, která zaručuje výsledky nezávislé na kulturním prostředí. Tato přetížení, která přebírají CultureInfo argument, umožňují eliminovat kulturní variace v případě mapování a pravidel řazení. Pro operace s řetězci bez citlivosti na jazykové prostředí zadejte jazykovou verzi jako CultureInfo.InvariantCulture.
V této části
Články v této části ukazují, jak provádět operace s řetězci, které nezohledňují kulturní rozdíly, pomocí metod .NET, které jsou ve výchozím nastavení citlivé na kulturu.
Provádění porovnání řetězců bez ohledu na kulturní rozdíly
Popisuje, jak používat String.Compare a String.CompareTo metody k provádění porovnání řetězců bez rozlišení jazykové verze.
Provádění změn velkých a malých písmen bez ohledu na kulturní zvyklosti
Popisuje, jak používat String.ToUpper, String.ToLower, Char.ToUpper, a Char.ToLower metody k provádění změn velikosti písmen bez ohledu na kulturní specifika.
Provádění operací řetězců bez rozlišení kulturních specifik v kolekcích
Popisuje, jak používat CaseInsensitiveComparer, CaseInsensitiveHashCodeProvider třídu, SortedList, ArrayList.Sort a CollectionsUtil.CreateCaseInsensitiveHashtable k provedení operací bez rozlišení jazykové verze v kolekcích.
Provádění operací řetězců bez rozlišení jazykové verze v polích
Popisuje, jak používat Array.Sort a Array.BinarySearch metody k provádění operací bez rozlišení jazykové verze v polích.