RegionInfo-Klasse
Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.
Im Gegensatz zur Klasse CultureInfo stellt die Klasse RegionInfo keine Benutzereinstellungen dar und hängt nicht von der Sprache oder Kultur von Benutzer*innen ab.
Einem RegionInfo-Objekt zugeordnete Namen
Der Name eines RegionInfo-Objekts ist einer der in ISO 3166 für Land/Region definierten aus zwei Buchstaben bestehenden Codes. Die Groß-/Kleinbuchschreibung ist nicht von Bedeutung. Die Eigenschaften Name, TwoLetterISORegionName und ThreeLetterISORegionName geben die entsprechenden Codes in Großbuchstaben zurück. Die aktuelle Liste der RegionInfo-Namen finden Sie unter ISO 3166: Landeskennzahlen.
Instanziieren eines RegionInfo-Objekts
Übergeben Sie zum Instanziieren eines RegionInfo-Objekts entweder einen aus zwei Buchstaben bestehenden Regionsnamen (z. B. „US“ für die USA) oder den Namen einer bestimmten Kultur (z. B. „en-US“ für „Englisch (USA)“) an den RegionInfo(String)-Konstruktor. Es wird jedoch empfohlen, einen bestimmten Kulturnamen anstelle eines aus zwei Buchstaben bestehenden Regionsnamens zu verwenden, da ein RegionInfo-Objekt nicht vollständig sprachunabhängig ist. Mehrere RegionInfo-Eigenschaften, einschließlich DisplayName, NativeName und CurrencyNativeName, hängen von Kulturnamen ab.
Im folgenden Beispiel wird der Unterschied bei RegionInfo-Eigenschaftswerten für drei Objekte veranschaulicht, die Belgien darstellen. Der erste wird nur von einem Regionsnamen (BE
) instanziiert, während der zweite und dritte von den Kulturnamen (fr-BE
für „Französisch (Belgien)“ bzw nl-BE
für „Niederländisch (Belgien)“) instanziiert werden. Das Beispiel verwendet Reflexion, um die Eigenschaftswerte der einzelnen RegionInfo-Objekte abzurufen.
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
Verwenden Sie in Szenarien wie den folgenden Kulturnamen anstelle von Länder-/Regionsnamen, wenn Sie ein RegionInfo-Objekt instanziieren:
Wenn der Sprachname von größter Bedeutung ist. Für den Kulturnamen
es-US
soll in Ihrer Anwendung wahrscheinlich „Estados Unidos“ anstelle von „USA“ angezeigt werden. Die Verwendung des Länder-/Regionsnamens (US
) gibt führt unabhängig von der Sprache „USA“ zurück, sodass Sie stattdessen den Kulturnamen verwenden sollten.Wenn Skriptunterschiede berücksichtigt werden müssen. Der Länder-/Regionsname
AZ
behandelt beispielsweise aserbaidschanische Kulturen, die die Namenaz-Latn-AZ
undaz-Cyrl-AZ
tragen, und die lateinischen und kyrillischen Skripts können für dieses Land/diese Region sehr unterschiedlich sein.Wenn die Pflege von Details wichtig ist. Die von RegionInfo-Membern zurückgegebenen Werte können abhängig davon variieren, ob das RegionInfo-Objekt mithilfe eines Kulturnamens oder eines Regionsnamens instanziiert wurde. In der folgenden Tabelle werden beispielsweise die Unterschiede bei Rückgabewerten aufgelistet, wenn ein RegionInfo-Objekt mithilfe der Region „US“, der Kultur „en-US“ und der Kultur „es-US“ instanziiert wird:
Member "US" „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