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.
CultureInfo Na rozdíl od třídy RegionInfo třída nepředstavuje uživatelské předvolby a nezávisí na jazyce nebo jazykové verzi uživatele.
Názvy přidružené k objektu RegionInfo
Název objektu RegionInfo je jedním z dvoumísmenných kódů definovaných v ISO 3166 pro zemi/oblast. Případ není významný. Vlastnosti Name, TwoLetterISORegionName a ThreeLetterISORegionName vrátí příslušné kódy velkými písmeny. Aktuální seznam RegionInfo názvů najdete v tématu ISO 3166: Kódy zemí.
Vytvoření instance objektu RegionInfo
Chcete-li vytvořit instanci objektu RegionInfo, předáte RegionInfo(String) konstruktoru buď dvoupísmenný kód země, například "US" pro Spojené státy, nebo název konkrétní jazykové verze, například "en-US" pro angličtinu (Spojené státy). Doporučujeme však použít konkrétní název jazykové verze místo dvoupísmenného názvu oblasti, protože RegionInfo objekt není zcela nezávislý na jazyce. Několik RegionInfo vlastností, včetně DisplayName, NativeNamea CurrencyNativeName, závisí na názvech jazykové verze.
Následující příklad ukazuje rozdíl v RegionInfo hodnotách vlastností pro tři objekty, které představují Belgie. První instance se vytvoří pouze z názvu oblasti (BE
), zatímco druhá a třetí se vytvoří z názvů jazykové verze (fr-BE
pro francouzštinu (Belgie) a nl-BE
pro nizozemštinu (Belgie)). Příklad používá reflexi k načtení hodnot vlastností každého RegionInfo objektu.
using System;
using System.Globalization;
using System.Reflection;
public class Example
{
public static void Main()
{
// Instantiate three Belgian RegionInfo objects.
RegionInfo BE = new RegionInfo("BE");
RegionInfo frBE = new RegionInfo("fr-BE");
RegionInfo nlBE = new RegionInfo("nl-BE");
RegionInfo[] regions = { BE, frBE, nlBE };
PropertyInfo[] props = typeof(RegionInfo).GetProperties(BindingFlags.Instance | BindingFlags.Public);
Console.WriteLine("{0,-30}{1,18}{2,18}{3,18}\n",
"RegionInfo Property", "BE", "fr-BE", "nl-BE");
foreach (var prop in props)
{
Console.Write("{0,-30}", prop.Name);
foreach (var region in regions)
Console.Write("{0,18}", prop.GetValue(region, null));
Console.WriteLine();
}
}
}
// The example displays the following output:
// RegionInfo Property BE fr-BE nl-BE
//
// Name BE fr-BE nl-BE
// EnglishName Belgium Belgium Belgium
// DisplayName Belgium Belgium Belgium
// NativeName België Belgique België
// TwoLetterISORegionName BE BE BE
// ThreeLetterISORegionName BEL BEL BEL
// ThreeLetterWindowsRegionName BEL BEL BEL
// IsMetric True True True
// GeoId 21 21 21
// CurrencyEnglishName Euro Euro Euro
// CurrencyNativeName euro euro euro
// CurrencySymbol € € €
// ISOCurrencySymbol EUR EUR EUR
Ve scénářích, jako je například následující, při vytváření instance objektu RegionInfo použijte názvy jazykových verzí místo názvů zemí/oblastí:
Pokud je název jazyka primární důležitostí. Například pro
es-US
název kulturní verze si asi přejete, aby aplikace zobrazovala "Estados Unidos" místo "Spojené státy". Pokud použijete pouze název země/oblasti (US
), vždy se zobrazí "Spojené státy" bez ohledu na jazyk, takže byste místo toho měli pracovat s názvem kultury.Pokud je nutné zvážit rozdíly mezi skripty. Například země/oblast
AZ
se zabývá ázerbájdžánskými kulturami, které mají jménaaz-Latn-AZ
aaz-Cyrl-AZ
a latinka a cyrilice mohou být pro tuto zemi/oblast velmi odlišné.Když je důležitá péče o detaily. Hodnoty členy RegionInfo vrácené se mohou lišit v závislosti na tom, jestli byl RegionInfo objekt vytvořen pomocí názvu kultury nebo regionu. Následující tabulka například uvádí rozdíly v návratových hodnotách, když je objekt RegionInfo vytvořen pomocí regionu USA, kulturyen-USa kulturyes-US.
Člen "USA" "en-US" "es-US" CurrencyNativeName US Dollar
US Dollar
Dólar de EE.UU.
Name US
en-US
es-US
NativeName United States
United States
Estados Unidos
ToString US
en-US
es-US