RegionInfo Construtores

Definição

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 .

Aplica-se a