RegionInfo Konstruktoren

Definition

Initialisiert eine neue Instanz der RegionInfo-Klasse.

Überlädt

RegionInfo(Int32)

Initialisiert eine neue Instanz der RegionInfo-Klasse auf der Grundlage des Landes oder der Region, das bzw. die dem angegebenen Kulturbezeichner zugeordnet ist.

RegionInfo(String)

Initialisiert eine neue Instanz der RegionInfo-Klasse auf der Grundlage des Landes oder der Region bzw. einer bestimmten Kultur, dessen bzw. deren Name angegeben ist.

RegionInfo(Int32)

Quelle:
RegionInfo.cs
Quelle:
RegionInfo.cs
Quelle:
RegionInfo.cs

Initialisiert eine neue Instanz der RegionInfo-Klasse auf der Grundlage des Landes oder der Region, das bzw. die dem angegebenen Kulturbezeichner zugeordnet ist.

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

Parameter

culture
Int32

Ein Kulturbezeichner.

Ausnahmen

culture gibt entweder eine invariante, benutzerdefinierte oder neutrale Kultur an.

Oder

Nur .NET 6+: Der globalisierungsinvariante Modus ist in der Umgebung aktiviert.

Beispiele

Im folgenden Codebeispiel werden zwei Instanzen verglichen, die RegionInfo unterschiedlich erstellt wurden.

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.

Hinweise

RegionInfo(String) ist der empfohlene Konstruktor zum Instanziieren eines RegionInfo Objekts. Im Gegensatz zum Konstruktor, der RegionInfo(Int32) einen numerischen Kulturbezeichner als Parameter erfordert, ist sein Parameter ein besser lesbarer Kulturname oder Ländercode.

Der Kulturbezeichner wird dem entsprechenden NLS-Gebietsschemabezeichner (National Language Support) zugeordnet. Weitere Informationen finden Sie unter Windows LCID-Referenz.

Der Wert der Name Eigenschaft des neuen RegionInfo Objekts, das durch Aufrufen dieses Konstruktors instanziiert wird, ist der ISO 3166-Code mit zwei Buchstaben für das Land/die Region, nicht die kombinierte Sprache und den Länder-/Regionscode. Wenn ein RegionInfo Objekt beispielsweise mit dem Kulturbezeichner instanziiert wird, der für die englische Kultur (USA) 0x0409, lautet der Wert der Name Eigenschaft "US". Wenn ein RegionInfo Objekt dagegen mit dem kombinierten Sprach- und Länder-/Regionscode en-US für die englische Kultur (USA) instanziiert wird, ist der Wert der Name Eigenschaft "en-US" in .NET Framework und nur "US" in .NET Core und .NET 5+.

Weitere Informationen

Gilt für:

RegionInfo(String)

Quelle:
RegionInfo.cs
Quelle:
RegionInfo.cs
Quelle:
RegionInfo.cs

Initialisiert eine neue Instanz der RegionInfo-Klasse auf der Grundlage des Landes oder der Region bzw. einer bestimmten Kultur, dessen bzw. deren Name angegeben ist.

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

Parameter

name
String

Eine Zeichenfolge, die einen aus zwei Buchstaben bestehenden Landes-/Regionscodes nach ISO 3166 enthält.

- oder -

Eine Zeichenfolge, die den Kulturnamen für eine bestimmte Kultur oder Nur-Windows-Kultur enthält. Wenn der Kulturname nicht in einem Format gemäß dem Standard RFC 4646 vorliegt, muss in der Anwendung der vollständige Kulturname angegeben werden. Die Angabe des Landes oder der Region reicht nicht aus.

Ausnahmen

name ist null.

name ist weder ein Name für eine bestimmte Kultur noch ein gültiger Name für ein Land oder eine Region.

Oder

Nur .NET 6+: Der globalisierungsinvariante Modus ist in der Umgebung aktiviert.

Beispiele

Im folgenden Codebeispiel werden zwei Instanzen verglichen, die RegionInfo unterschiedlich erstellt wurden.

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.

Im folgenden Codebeispiel werden Instanzen der Verwendung von RegionInfo Kulturnamen erstellt.

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.

Hinweise

Der name Parameter ist entweder einer der Für Land/Region definierten Codes oder ein bestimmter, benutzerdefinierter oder nur Windows-Kulturname. Der Fall ist nicht signifikant. Die NameEigenschaften , TwoLetterISORegionNameund ThreeLetterISORegionName geben jedoch den angegebenen Code- oder Kulturnamen in Großbuchstaben zurück.

Die vordefinierten RegionInfo Namen sind in ISO 3166: Ländercodes aufgeführt.

Sie sollten den Namen einer bestimmten Kultur anstelle eines Landes-/Regionsnamens name im Parameter angeben. Beispielsweise en-US ist für Englisch (USA) oder es-US Spanisch (USA) vorzuziehenUS, da Eigenschaften wie NativeName und CurrencyNativeName eine bestimmte Sprache widerspiegeln. az-Latn-AZ oder az-Cyrl-AZ ist vorzuziehen, AZ da Eigenschaften wie NativeName, CurrencyNativeNameund CurrencySymbol ein bestimmtes Skript widerspiegeln. Die vordefinierten Kulturnamen werden unter Windows LCID-Referenz aufgeführt.

Dieser Konstruktor löst eine ArgumentException wenn name ist eine neutrale Kultur (z en . B. für Englisch) aus.

Hinweise für Aufrufer

Dieser Konstruktor akzeptiert nur bestimmte Kulturen oder Länder-/Regionscodes. Einige neutrale Kulturnamen sind jedoch mit Länder-/Regionscodes identisch. In diesem Fall name wird als Länder-/Regionscode und nicht als neutraler Kulturname interpretiert, und dieser Konstruktor löst keinen aus ArgumentException.

Gilt für: