本文提供此 API 參考文件的補充備註。
不同於 類別 CultureInfo ,類別 RegionInfo 不代表用戶喜好設定,也不相依於用戶的語言或文化特性。
與 RegionInfo 對象相關聯的名稱
對象的名稱 RegionInfo 是國家/地區 ISO 3166 中定義的兩個字母代碼之一。 案例並不重要。 Name、 TwoLetterISORegionName和 ThreeLetterISORegionName 屬性會以大寫傳回適當的代碼。 如需目前的名稱清單 RegionInfo ,請參閱 ISO 3166:國家/地區代碼。
實例化 RegionInfo 物件
若要具現化 RegionInfo 物件,您可以傳遞 RegionInfo(String) 建構函式的兩個字母區域名稱,例如美國“US”,或特定文化特性的名稱,例如英文(美國)的“en-US”。 不過,建議您使用特定文化特性名稱,而不是雙字母區域名稱,因為 RegionInfo 對象與語言無關。 數個 RegionInfo 屬性,包括 DisplayName、 NativeName和 CurrencyNativeName,取決於文化特性名稱。
下列範例說明代表比利時之三個 對象的屬性值差異 RegionInfo 。 第一個僅由區域名稱(BE)實例化,而第二和第三個則分別由文化名稱實例化(fr-BE 法文(比利時)和 nl-BE 荷蘭文(比利時))。 此範例會使用反映來擷取每個 RegionInfo 物件的屬性值。
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
在下列案例中,當您具現化 RegionInfo 物件時,請使用文化特性名稱,而不是國家/地區名稱:
當語言名稱至關重要時。 例如,針對
es-US文化特性名稱,您可能會想要讓應用程式顯示 “Estados Unidos” 而不是 “United States”。 不論語言為何,單獨使用國家/地區名稱 (US) 會產生「美國」,因此您應該改用文化特性名稱。當必須考慮腳本差異時。 例如,國家/地區
AZ涉及名稱為az-Latn-AZ和az-Cyrl-AZ的亞塞拜然的文化,而且對於這個國家/地區來說,拉丁字母和西里爾字母的差異可能會很大。當維護細節很重要時。 成員 RegionInfo 回傳的值可能會因為物件是使用文化名稱還是區域名稱來實例化而有所不同。 例如,下表列出當物件使用 「US」 區域、“en-US” 文化特性和 “es-US” 文化特性具現化時,傳回值 RegionInfo 的差異。
會員 “US” “en-US” “es-US” CurrencyNativeName US DollarUS DollarDólar de EE.UU.Name USen-USes-USNativeName United StatesUnited StatesEstados UnidosToString USen-USes-US