Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Este artigo fornece observações complementares à documentação de referência para esta API.
Ao contrário da CultureInfo classe, a classe não representa as RegionInfo preferências do usuário e não depende do idioma ou da cultura do usuário.
Nomes associados a um objeto RegionInfo
O nome de um RegionInfo objeto é um dos códigos de duas letras definidos na ISO 3166 para país/região. O caso não é significativo. Name, TwoLetterISORegionName e ThreeLetterISORegionName retornam os códigos apropriados em maiúsculas. Para obter a lista atual de RegionInfo de país.
Instanciar um objeto RegionInfo
Para instanciar um RegionInfo objeto, passe ao RegionInfo(String) construtor um nome de região de duas letras, como "US" 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 do idioma. Várias RegionInfo propriedades, incluindo DisplayName, NativeName, e 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 a partir de um nome de região (BE) apenas, enquanto o segundo e o terceiro são instanciados a partir de nomes de cultura (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 os seguintes, use nomes de cultura em vez de nomes de país/região ao instanciar um RegionInfo objeto:
Quando o nome da língua é de importância primordial. Por exemplo, para o nome da
es-UScultura, você provavelmente desejará que seu aplicativo exiba "Estados Unidos" em vez de "Estados Unidos". Usar apenas o nome do país/região (US) produz "Estados Unidos" independentemente do idioma, 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 as escritas latina e cirílica podem ser muito diferentes para este país/região.Quando a manutenção do detalhe é importante. Os valores retornados pelos RegionInfo membros podem diferir 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 de retorno 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