RegionInfo Construtores
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicializa uma nova instância da RegionInfo classe.
Sobrecargas
| Name | Description |
|---|---|
| RegionInfo(Int32) |
Inicializa uma nova instância da RegionInfo classe com base no país/região associada ao identificador de cultura especificado. |
| RegionInfo(String) |
Inicializa uma nova instância da RegionInfo classe com base no país/região ou cultura específica, especificada pelo nome. |
RegionInfo(Int32)
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
Inicializa uma nova instância da RegionInfo classe com base no país/região associada ao identificador de cultura especificado.
public:
RegionInfo(int culture);
public RegionInfo(int culture);
new System.Globalization.RegionInfo : int -> System.Globalization.RegionInfo
Public Sub New (culture As Integer)
Parâmetros
- culture
- Int32
Um identificador cultural.
Exceções
culture especifica uma cultura invariante, costume ou neutra.
-ou-
.NET 6+ apenas: O modo invariante à globalização está ativado no ambiente.
Exemplos
O seguinte exemplo de código compara duas instâncias de RegionInfo que foram criadas de forma diferente.
using System;
using System.Globalization;
public class SamplesRegionInfo {
public static void Main() {
// Creates a RegionInfo using the ISO 3166 two-letter code.
RegionInfo myRI1 = new RegionInfo( "US" );
// Creates a RegionInfo using a CultureInfo.LCID.
RegionInfo myRI2 = new RegionInfo( new CultureInfo("en-US",false).LCID );
// Compares the two instances.
if ( myRI1.Equals( myRI2 ) )
Console.WriteLine( "The two RegionInfo instances are equal." );
else
Console.WriteLine( "The two RegionInfo instances are NOT equal." );
}
}
/*
This code produces the following output.
The two RegionInfo instances are equal.
*/
Imports System.Globalization
Public Class SamplesRegionInfo
Public Shared Sub Main()
' Creates a RegionInfo using the ISO 3166 two-letter code.
Dim myRI1 As New RegionInfo("US")
' Creates a RegionInfo using a CultureInfo.LCID.
Dim myRI2 As New RegionInfo(New CultureInfo("en-US", False).LCID)
' Compares the two instances.
If myRI1.Equals(myRI2) Then
Console.WriteLine("The two RegionInfo instances are equal.")
Else
Console.WriteLine("The two RegionInfo instances are NOT equal.")
End If
End Sub
End Class
'This code produces the following output.
'
'The two RegionInfo instances are equal.
Observações
RegionInfo(String) é o construtor recomendado para instanciar um RegionInfo objeto. Ao contrário do RegionInfo(Int32) construtor, que requer um identificador numérico de cultura como parâmetro, o seu parâmetro é um nome de cultura ou código de país mais legível.
O identificador de cultura é mapeado para o identificador local correspondente do National Language Support (NLS). Para mais informações, consulte Windows referência LCID.
O valor da Name propriedade do novo RegionInfo objeto instanciado ao chamar este construtor é o código ISO 3166 de 2 letras para o país/região, e não o código combinado de língua e país/região. Por exemplo, se um objeto RegionInfo for instanciado com o identificador de cultura 0x0409 para a cultura inglesa (Estados Unidos), o valor da propriedade Name é "US". Em contraste, se um objeto RegionInfo for instanciado com o código combinado de língua e país/região en-US para a cultura inglesa (Estados Unidos), o valor da propriedade Name é "en-US" no .NET Framework e apenas "US" no .NET Core e .NET 5+.
Ver também
Aplica-se a
RegionInfo(String)
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
- Origem:
- RegionInfo.cs
Inicializa uma nova instância da RegionInfo classe com base no país/região ou cultura específica, especificada pelo nome.
public:
RegionInfo(System::String ^ name);
public RegionInfo(string name);
new System.Globalization.RegionInfo : string -> System.Globalization.RegionInfo
Public Sub New (name As String)
Parâmetros
- name
- String
Uma cadeia que contém um código de duas letras definido na ISO 3166 para país/região.
-ou-
Uma cadeia que contém o nome da cultura de uma cultura específica, cultura personalizada ou cultura exclusiva do Windows. Se o nome da cultura não estiver no formato RFC 4646, a sua candidatura deve especificar o nome da cultura completa em vez de apenas o país/região.
Exceções
name é null.
name não é um nome válido de país/região ou nome de cultura específica.
-ou-
.NET 6+ apenas: O modo invariante à globalização está ativado no ambiente.
Exemplos
O seguinte exemplo de código compara duas instâncias de RegionInfo que foram criadas de forma diferente.
using System;
using System.Globalization;
public class SamplesRegionInfo {
public static void Main() {
// Creates a RegionInfo using the ISO 3166 two-letter code.
RegionInfo myRI1 = new RegionInfo( "US" );
// Creates a RegionInfo using a CultureInfo.LCID.
RegionInfo myRI2 = new RegionInfo( new CultureInfo("en-US",false).LCID );
// Compares the two instances.
if ( myRI1.Equals( myRI2 ) )
Console.WriteLine( "The two RegionInfo instances are equal." );
else
Console.WriteLine( "The two RegionInfo instances are NOT equal." );
}
}
/*
This code produces the following output.
The two RegionInfo instances are equal.
*/
Imports System.Globalization
Public Class SamplesRegionInfo
Public Shared Sub Main()
' Creates a RegionInfo using the ISO 3166 two-letter code.
Dim myRI1 As New RegionInfo("US")
' Creates a RegionInfo using a CultureInfo.LCID.
Dim myRI2 As New RegionInfo(New CultureInfo("en-US", False).LCID)
' Compares the two instances.
If myRI1.Equals(myRI2) Then
Console.WriteLine("The two RegionInfo instances are equal.")
Else
Console.WriteLine("The two RegionInfo instances are NOT equal.")
End If
End Sub
End Class
'This code produces the following output.
'
'The two RegionInfo instances are equal.
O exemplo de código seguinte cria instâncias de RegionInfo utilização de nomes de cultura.
using System;
using System.Globalization;
public class SamplesRegionInfo {
public static void Main() {
// Creates an array containing culture names.
String[] myCultures = new String[] { "", "ar", "ar-DZ", "en", "en-US" };
// Creates a RegionInfo for each of the culture names.
// Note that "ar" is the culture name for the neutral culture "Arabic",
// but it is also the region name for the country/region "Argentina";
// therefore, it does not fail as expected.
Console.WriteLine("Without checks...");
foreach (String culture in myCultures) {
try {
RegionInfo myRI = new RegionInfo( culture );
}
catch ( ArgumentException e ) {
Console.WriteLine( e.ToString() );
}
}
Console.WriteLine();
Console.WriteLine( "Checking the culture names first..." );
foreach (String culture in myCultures) {
if ( culture == "" ) {
Console.WriteLine("The culture is the invariant culture.");
}
else {
CultureInfo myCI = new CultureInfo( culture, false );
if ( myCI.IsNeutralCulture )
{
Console.WriteLine( "The culture {0} is a neutral culture.", culture );
}
else {
Console.WriteLine( "The culture {0} is a specific culture.", culture );
try {
RegionInfo myRI = new RegionInfo( culture );
}
catch ( ArgumentException e ) {
Console.WriteLine( e.ToString() );
}
}
}
}
}
}
/*
This code produces the following output.
Without checks...
System.ArgumentException: Region name '' is not supported.
Parameter name: name
at System.Globalization.RegionInfo..ctor(String name)
at SamplesRegionInfo.Main()
System.ArgumentException: Region name 'en' is not supported.
Parameter name: name
at System.Globalization.CultureTableRecord..ctor(String regionName, Boolean useUserOverride)
at System.Globalization.RegionInfo..ctor(String name)
at SamplesRegionInfo.Main()
Checking the culture names first...
The culture is the invariant culture.
The culture ar is a neutral culture.
The culture ar-DZ is a specific culture.
The culture en is a neutral culture.
The culture en-US is a specific culture.
*/
Imports System.Globalization
Public Class SamplesRegionInfo
Public Shared Sub Main()
' Creates an array containing culture names.
Dim myCultures() As String = {"", "ar", "ar-DZ", "en", "en-US"}
Dim culture As String
' Creates a RegionInfo for each of the culture names.
' Note that "ar" is the culture name for the neutral culture "Arabic",
' but it is also the region name for the country/region "Argentina";
' therefore, it does not fail as expected.
Console.WriteLine("Without checks...")
For Each culture In myCultures
Try
Dim myRI As New RegionInfo(culture)
Catch e As ArgumentException
Console.WriteLine(e.ToString())
End Try
Next
Console.WriteLine()
Console.WriteLine("Checking the culture names first...")
For Each culture In myCultures
If culture = "" Then
Console.WriteLine("The culture is the invariant culture.")
Else
Dim myCI As New CultureInfo(culture, False)
If myCI.IsNeutralCulture Then
Console.WriteLine("The culture {0} is a neutral culture.", culture)
Else
Console.WriteLine("The culture {0} is a specific culture.", culture)
Try
Dim myRI As New RegionInfo(culture)
Catch e As ArgumentException
Console.WriteLine(e.ToString())
End Try
End If
End If
Next
End Sub
End Class
'The example displays the following output.
'
'Without checks...
'System.ArgumentException: Region name '' is not supported.
'Parameter name: name
' at System.Globalization.RegionInfo..ctor(String name)
' at SamplesRegionInfo.Main()
'System.ArgumentException: Region name 'en' is not supported.
'Parameter name: name
' at System.Globalization.CultureTableRecord..ctor(String regionName, Boolean useUserOverride)
' at System.Globalization.RegionInfo..ctor(String name)
' at SamplesRegionInfo.Main()
'
'Checking the culture names first...
'The culture is the invariant culture.
'The culture ar is a neutral culture.
'The culture ar-DZ is a specific culture.
'The culture en is a neutral culture.
'The culture en-US is a specific culture.
Observações
O parâmetro name é um dos códigos definidos para país/região, ou um nome específico, personalizado ou apenas de cultura Windows. O caso não é significativo. No entanto, as Namepropriedades , TwoLetterISORegionName, e ThreeLetterISORegionName retornam o nome de código ou cultura especificado em maiúsculas.
Os nomes pré-definidos RegionInfo estão listados na ISO 3166: Códigos de país.
Deves indicar o nome de uma cultura específica em vez de apenas o nome de um país/região no name parâmetro. Por exemplo, en-US para inglês (Estados Unidos) ou es-US para espanhol (Estados Unidos) é preferível a US porque propriedades como NativeName e CurrencyNativeName refletem uma língua específica.
az-Latn-AZ ou az-Cyrl-AZ é preferível a AZ porque propriedades como NativeName, CurrencyNativeName, e CurrencySymbol refletem uma escrita específica. Os nomes de cultura pré-definidos estão listados em Windows referência LCID.
Este construtor lança um ArgumentException se name for uma cultura neutra (como en no caso do inglês).
Notas para Chamadores
Este construtor aceita apenas culturas específicas ou códigos de país/região. No entanto, alguns nomes culturais neutros são iguais aos códigos de países/regiões. Neste caso, name é interpretado como um código país/região em vez de um nome de cultura neutro, e este construtor não lança um ArgumentExceptioncódigo .