Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece comentários complementares à documentação de referência para esta API.
Ao contrário da CultureInfo classe, a RegionInfo classe não representa as preferências do usuário e não depende da cultura ou idioma do usuário.
Nomes associados a um objeto RegionInfo
O nome de um RegionInfo objeto é um dos códigos de duas letras definidos no ISO 3166 para país/região. O caso não é significativo. Name, TwoLetterISORegionName e ThreeLetterISORegionName propriedades retornam os códigos apropriados em letras maiúsculas. Para obter a lista atual de RegionInfo nomes, consulte ISO 3166: Códigos de país.
Instanciar um objeto RegionInfo
Para instanciar um RegionInfo objeto, você passa ao RegionInfo(String) construtor um nome de região de duas letras, como "EUA" para os Estados Unidos, ou o nome de uma cultura específica, como "en-US" para inglês (Estados Unidos). No entanto, recomendamos que você use um nome de cultura específico em vez de um nome de região de duas letras, porque um RegionInfo objeto não é completamente independente de idioma. Várias RegionInfo propriedades, incluindo DisplayName, NativeNamee CurrencyNativeName, dependem de nomes de cultura.
O exemplo a seguir ilustra a diferença nos RegionInfo valores de propriedade para três objetos que representam a Bélgica. O primeiro é instanciado de um nome de região (BE) somente, enquanto o segundo e o terceiro são instanciados de nomes culturais (fr-BE para francês (Bélgica) e nl-BE para holandês (Bélgica), respectivamente). O exemplo usa reflexão para recuperar os valores de propriedade de cada RegionInfo objeto.
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
Em cenários como o seguinte, use nomes de cultura em vez de nomes de país/região ao criar uma instância de um RegionInfo objeto:
Quando o nome do idioma é de importância primária. Por exemplo, para o nome de cultura
es-US, você vai querer que seu aplicativo exiba "Estados Unidos" em vez de "United States". Usar o nome do país/região (US) sozinho produz "Estados Unidos" independentemente da linguagem, portanto, você deve trabalhar com o nome da cultura.Quando as diferenças de script devem ser consideradas. Por exemplo, o país/região
AZlida com culturas do Azerbaijão que têm os nomesaz-Latn-AZeaz-Cyrl-AZ, e os scripts latinos e cirílicos podem ser muito diferentes para este país/região.Quando a manutenção de detalhes é importante. Os valores retornados pelos RegionInfo membros podem ser diferentes dependendo se o RegionInfo objeto foi instanciado usando um nome de cultura ou um nome de região. Por exemplo, a tabela a seguir lista as diferenças nos valores retornados quando um RegionInfo objeto é instanciado usando a região "EUA", a cultura "en-US" e a cultura "es-US".
Membro "EUA" "en-US" "es-US" CurrencyNativeName US DollarUS DollarDólar de EE.UU.Name USen-USes-USNativeName United StatesUnited StatesEstados UnidosToString USen-USes-US