Condividi tramite


RegionInfo Costruttori

Definizione

Inizializza una nuova istanza della classe RegionInfo.

Overload

RegionInfo(Int32)

Inizializza una nuova istanza della classe RegionInfo in base al paese associato all'identificatore di impostazioni cultura specificato.

RegionInfo(String)

Inizializza una nuova istanza della classe RegionInfo in base al paese o alle impostazioni cultura specifiche, specificato per nome.

RegionInfo(Int32)

Origine:
RegionInfo.cs
Origine:
RegionInfo.cs
Origine:
RegionInfo.cs

Inizializza una nuova istanza della classe RegionInfo in base al paese associato all'identificatore di impostazioni cultura specificato.

public:
 RegionInfo(int culture);
public RegionInfo (int culture);
new System.Globalization.RegionInfo : int -> System.Globalization.RegionInfo
Public Sub New (culture As Integer)

Parametri

culture
Int32

Identificatore di impostazioni cultura.

Eccezioni

culture specifica impostazioni cultura invarianti, personalizzate o non associate ad alcun paese.

-oppure-

Solo .NET 6+: la modalità invariante di globalizzazione è abilitata nell'ambiente.

Esempio

Nell'esempio di codice seguente vengono confrontate due istanze di RegionInfo che sono state create in modo diverso.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates a RegionInfo using the ISO 3166 two-letter code.
   RegionInfo^ myRI1 = gcnew RegionInfo( "US" );
   
   // Creates a RegionInfo using a CultureInfo.LCID.
   RegionInfo^ myRI2 = gcnew RegionInfo( (gcnew 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.

*/
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.

Commenti

RegionInfo(String) è il costruttore consigliato per creare un'istanza di un RegionInfo oggetto. A differenza del RegionInfo(Int32) costruttore che richiede un identificatore cultura numerico come parametro, il relativo parametro è un nome cultura più leggibile o codice paese.

L'identificatore delle impostazioni cultura viene mappato all'identificatore delle impostazioni locali NLS (National Language Support) corrispondente. Per altre informazioni, vedere Informazioni di riferimento su Windows LCID.

Il valore della proprietà del Name nuovo RegionInfo oggetto creato chiamando questo costruttore è il codice ISO 3166 2 lettera per il paese/area geografica, non il codice di lingua combinata e paese/area geografica. Ad esempio, se un RegionInfo oggetto viene creata un'istanza con l'identificatore delle impostazioni cultura 0x0409 per le impostazioni cultura inglese (Stati Uniti), il valore della Name proprietà è "US". Al contrario, se un RegionInfo oggetto viene creato con la lingua combinata e il codice en-US paese/area geografica per le impostazioni cultura inglese (Stati Uniti), il valore della Name proprietà è "en-US" in .NET Framework e solo "US" in .NET Core e .NET 5+.

Vedi anche

Si applica a

RegionInfo(String)

Origine:
RegionInfo.cs
Origine:
RegionInfo.cs
Origine:
RegionInfo.cs

Inizializza una nuova istanza della classe RegionInfo in base al paese o alle impostazioni cultura specifiche, specificato per nome.

public:
 RegionInfo(System::String ^ name);
public RegionInfo (string name);
new System.Globalization.RegionInfo : string -> System.Globalization.RegionInfo
Public Sub New (name As String)

Parametri

name
String

Stringa contenente un codice a due lettere definito in ISO 3166 per il paese.

-oppure-

Stringa contenente il nome di impostazioni cultura specifiche, personalizzate o solo Windows. Se il nome delle impostazioni cultura non è in formato RFC 4646, l'applicazione deve specificare il nome intero delle impostazioni cultura, anziché solo il paese.

Eccezioni

name è null.

name non è un nome di paese o di impostazioni cultura specifiche valido.

-oppure-

Solo .NET 6+: la modalità invariante di globalizzazione è abilitata nell'ambiente.

Esempio

Nell'esempio di codice seguente vengono confrontate due istanze di RegionInfo che sono state create in modo diverso.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates a RegionInfo using the ISO 3166 two-letter code.
   RegionInfo^ myRI1 = gcnew RegionInfo( "US" );
   
   // Creates a RegionInfo using a CultureInfo.LCID.
   RegionInfo^ myRI2 = gcnew RegionInfo( (gcnew 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.

*/
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.

Nell'esempio di codice seguente vengono create istanze dell'uso dei nomi delle RegionInfo impostazioni cultura.

using namespace System;
using namespace System::Collections;
using namespace System::Globalization;

namespace Sample
{
    public ref class SamplesRegionInfo  
    {
    public: 
        static void Work()  
        {

            // Creates an array containing culture names.
            array <String^>^ commonCultures = 
                {"", "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...");
            for each (String^ cultureID in commonCultures)
            {   
                try  
                {
                    RegionInfo^ region = 
                    gcnew RegionInfo(cultureID);
                }

                catch (ArgumentException^ ex)  
                {
                    Console::WriteLine(ex);
                }
            }

            Console::WriteLine();

            Console::WriteLine("Checking the culture"
                " names first...");

            for each (String^ cultureID in commonCultures)
            {
                if (cultureID->Length == 0)  
                {
                    Console::WriteLine(
                        "The culture is the invariant culture.");
                }
                else  
                {
                    CultureInfo^ culture = 
                        gcnew CultureInfo(cultureID, false);
                    if (culture->IsNeutralCulture)
                    {
                        Console::WriteLine("The culture {0} is "
                            "a neutral culture.", cultureID);
                    }
                    else   
                    {
                        Console::WriteLine("The culture {0} is "
                            "a specific culture.", cultureID);
                        try  
                        {
                            RegionInfo^ region = 
                                gcnew RegionInfo(cultureID);
                        }
                        catch (ArgumentException^ ex)  
                        {
                            Console::WriteLine(ex);
                        }
                    }
                }
            } 
            Console::ReadLine();
        }
    };
}

int main()
{
    Sample::SamplesRegionInfo::Work();
    return 0;
}

/*
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.

*/
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.

Commenti

Il parametro è uno dei codici definiti per il paese o l'area geografica o un nome di impostazioni cultura specifico, personalizzato o Windows.The name parameter is one of the code defined for country/region, or a specific, custom or Windows-only culture name. Il caso non è significativo. Tuttavia, le Nameproprietà , TwoLetterISORegionNamee ThreeLetterISORegionName restituiscono il codice o il nome delle impostazioni cultura specificati in maiuscolo.

I nomi predefiniti RegionInfo sono elencati in ISO 3166: Codici Paese.

È consigliabile specificare il nome di una cultura specifica anziché solo un nome paese/area geografica nel name parametro. Ad esempio, en-US per l'inglese (Stati Uniti) o es-US per lo spagnolo (Stati Uniti) è preferibile US perché le proprietà, ad NativeName esempio e CurrencyNativeName riflettono una lingua specifica. az-Latn-AZ o az-Cyrl-AZ è preferibile AZ perché le proprietà, NativeNamead esempio , CurrencyNativeNamee CurrencySymbol riflettono uno script specifico. I nomi delle impostazioni cultura predefiniti sono elencati in Riferimento a Windows LCID.

Questo costruttore genera un ArgumentException valore se name è una cultura neutrale ,ad esempio en per l'inglese.

Note per i chiamanti

Questo costruttore accetta solo impostazioni cultura specifiche o codici paese/area geografica. Tuttavia, alcuni nomi cultura neutrali sono uguali ai codici paese/area geografica. In questo caso, name viene interpretato come codice paese/area geografica anziché un nome cultura neutrale e questo costruttore non genera un ArgumentExceptionoggetto .

Si applica a