Udostępnij za pośrednictwem


RegionInfo Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy RegionInfo.

Przeciążenia

RegionInfo(Int32)

Inicjuje RegionInfo nowe wystąpienie klasy na podstawie kraju/regionu skojarzonego z określonym identyfikatorem kultury.

RegionInfo(String)

Inicjuje RegionInfo nowe wystąpienie klasy na podstawie kraju/regionu lub określonej kultury określonej według nazwy.

RegionInfo(Int32)

Źródło:
RegionInfo.cs
Źródło:
RegionInfo.cs
Źródło:
RegionInfo.cs

Inicjuje RegionInfo nowe wystąpienie klasy na podstawie kraju/regionu skojarzonego z określonym identyfikatorem kultury.

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

Parametry

culture
Int32

Identyfikator kultury.

Wyjątki

culture określa niezmienną, niestandardową lub neutralną kulturę.

-lub-

Tylko platforma .NET 6+: tryb niezmienny globalizacji jest włączony w środowisku.

Przykłady

Poniższy przykład kodu porównuje dwa wystąpienia RegionInfo , które zostały utworzone inaczej.

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.

Uwagi

RegionInfo(String) jest zalecanym konstruktorem RegionInfo do tworzenia wystąpienia obiektu. W przeciwieństwie do konstruktora RegionInfo(Int32) , który wymaga identyfikatora kultury liczbowej jako parametru, jego parametr jest bardziej czytelną nazwą kultury lub kodem kraju.

Identyfikator kultury jest mapowany na odpowiedni identyfikator ustawień regionalnych obsługi języka narodowego (NLS). Aby uzyskać więcej informacji, zobacz Dokumentacja identyfikatora LCID systemu Windows.

Wartość Name właściwości nowego RegionInfo obiektu utworzonego przez wywołanie tego konstruktora jest kodem ISO 3166 2-literowym dla kraju/regionu, a nie połączonym językiem i kodem kraju/regionu. Jeśli na przykład RegionInfo obiekt jest tworzone za pomocą identyfikatora kultury 0x0409 dla kultury angielskiej (Stany Zjednoczone), wartość Name właściwości to "US". Natomiast jeśli RegionInfo obiekt jest tworzone za pomocą połączonego kodu języka i kraju/regionu en-US dla kultury angielskiej (Stany Zjednoczone), wartość Name właściwości to "en-US" w .NET Framework i tylko "US" na platformie .NET Core i .NET 5+.

Zobacz też

Dotyczy

RegionInfo(String)

Źródło:
RegionInfo.cs
Źródło:
RegionInfo.cs
Źródło:
RegionInfo.cs

Inicjuje RegionInfo nowe wystąpienie klasy na podstawie kraju/regionu lub określonej kultury określonej według nazwy.

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

Parametry

name
String

Ciąg zawierający dwuliterowy kod zdefiniowany w iso 3166 dla kraju/regionu.

-lub-

Ciąg zawierający nazwę kultury dla określonej kultury, kultury niestandardowej lub kultury tylko dla systemu Windows. Jeśli nazwa kultury nie ma formatu RFC 4646, aplikacja powinna określić całą nazwę kultury zamiast tylko kraju/regionu.

Wyjątki

name to null.

name nie jest prawidłową nazwą kraju/regionu ani konkretną nazwą kultury.

-lub-

Tylko platforma .NET 6+: tryb niezmienny globalizacji jest włączony w środowisku.

Przykłady

Poniższy przykład kodu porównuje dwa wystąpienia RegionInfo , które zostały utworzone inaczej.

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.

Poniższy przykład kodu tworzy wystąpienia RegionInfo przy użyciu nazw kultur.

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.

Uwagi

Parametr name jest jednym z kodów zdefiniowanych dla kraju/regionu lub określonej, niestandardowej lub nazwy kultury tylko dla systemu Windows. Wielkość liter nie jest znacząca. NameJednak właściwości , TwoLetterISORegionNamei ThreeLetterISORegionName zwracają określony kod lub nazwę kultury w wielkie litery.

Wstępnie zdefiniowane RegionInfo nazwy są wymienione w normie ISO 3166: Kody kraju.

Należy podać nazwę określonej kultury, a nie tylko nazwę kraju/regionu w parametrze name . Na przykład en-US w przypadku języka angielskiego (Stany Zjednoczone) lub es-US języka hiszpańskiego (Stany Zjednoczone) zaleca sięUS, ponieważ właściwości, takie jak NativeName i CurrencyNativeName odzwierciedlają określony język. az-Latn-AZ lub az-Cyrl-AZ jest preferowane, AZ ponieważ właściwości, takie jak NativeName, CurrencyNativeNamei CurrencySymbol odzwierciedlają określony skrypt. Wstępnie zdefiniowane nazwy kultury są wymienione w dokumentacji LCID systemu Windows.

Ten konstruktor zgłasza ArgumentException wartość if name jest neutralną kulturą (na przykład en dla języka angielskiego).

Uwagi dotyczące wywoływania

Ten konstruktor akceptuje tylko określone kultury lub kody kraju/regionu. Jednak niektóre nazwy kultury neutralnej są takie same jak kody kraju/regionu. W takim przypadku name jest interpretowany jako kod kraju/regionu zamiast neutralnej nazwy kultury, a ten konstruktor nie zgłasza ArgumentExceptionwartości .

Dotyczy