RegionInfo クラス

定義

国/地域についての情報を格納します。

public ref class RegionInfo
public class RegionInfo
[System.Serializable]
public class RegionInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class RegionInfo
type RegionInfo = class
[<System.Serializable>]
type RegionInfo = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type RegionInfo = class
Public Class RegionInfo
継承
RegionInfo
属性

次の例では、クラスのいくつかのメンバーを RegionInfo 示します。

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Displays the property values of the RegionInfo for "US".
   RegionInfo^ myRI1 = gcnew RegionInfo( "US" );
   Console::WriteLine( "   Name:                         {0}", myRI1->Name );
   Console::WriteLine( "   DisplayName:                  {0}", myRI1->DisplayName );
   Console::WriteLine( "   EnglishName:                  {0}", myRI1->EnglishName );
   Console::WriteLine( "   IsMetric:                     {0}", myRI1->IsMetric );
   Console::WriteLine( "   ThreeLetterISORegionName:     {0}", myRI1->ThreeLetterISORegionName );
   Console::WriteLine( "   ThreeLetterWindowsRegionName: {0}", myRI1->ThreeLetterWindowsRegionName );
   Console::WriteLine( "   TwoLetterISORegionName:       {0}", myRI1->TwoLetterISORegionName );
   Console::WriteLine( "   CurrencySymbol:               {0}", myRI1->CurrencySymbol );
   Console::WriteLine( "   ISOCurrencySymbol:            {0}", myRI1->ISOCurrencySymbol );
   Console::WriteLine();
   
   // Compares the RegionInfo above with another RegionInfo created using CultureInfo.
   RegionInfo^ myRI2 = gcnew RegionInfo( (gcnew CultureInfo( "en-US",false ))->LCID );
   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.

   Name:                         US
   DisplayName:                  United States
   EnglishName:                  United States
   IsMetric:                     False
   ThreeLetterISORegionName:     USA
   ThreeLetterWindowsRegionName: USA
   TwoLetterISORegionName:       US
   CurrencySymbol:               $
   ISOCurrencySymbol:            USD

The two RegionInfo instances are equal.

*/
using System;
using System.Globalization;

public class SamplesRegionInfo  {

   public static void Main()  {

      // Displays the property values of the RegionInfo for "US".
      RegionInfo myRI1 = new RegionInfo( "US" );
      Console.WriteLine( "   Name:                         {0}", myRI1.Name );
      Console.WriteLine( "   DisplayName:                  {0}", myRI1.DisplayName );
      Console.WriteLine( "   EnglishName:                  {0}", myRI1.EnglishName );
      Console.WriteLine( "   IsMetric:                     {0}", myRI1.IsMetric );
      Console.WriteLine( "   ThreeLetterISORegionName:     {0}", myRI1.ThreeLetterISORegionName );
      Console.WriteLine( "   ThreeLetterWindowsRegionName: {0}", myRI1.ThreeLetterWindowsRegionName );
      Console.WriteLine( "   TwoLetterISORegionName:       {0}", myRI1.TwoLetterISORegionName );
      Console.WriteLine( "   CurrencySymbol:               {0}", myRI1.CurrencySymbol );
      Console.WriteLine( "   ISOCurrencySymbol:            {0}", myRI1.ISOCurrencySymbol );
      Console.WriteLine();

      // Compares the RegionInfo above with another RegionInfo created using CultureInfo.
      RegionInfo myRI2 = new RegionInfo( new CultureInfo("en-US",false).LCID );
      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.

   Name:                         US
   DisplayName:                  United States
   EnglishName:                  United States
   IsMetric:                     False
   ThreeLetterISORegionName:     USA
   ThreeLetterWindowsRegionName: USA
   TwoLetterISORegionName:       US
   CurrencySymbol:               $
   ISOCurrencySymbol:            USD

The two RegionInfo instances are equal.

*/
Imports System.Globalization


Public Class SamplesRegionInfo   

   Public Shared Sub Main()

      ' Displays the property values of the RegionInfo for "US".
      Dim myRI1 As New RegionInfo("US")
      Console.WriteLine("   Name:                         {0}", myRI1.Name)
      Console.WriteLine("   DisplayName:                  {0}", myRI1.DisplayName)
      Console.WriteLine("   EnglishName:                  {0}", myRI1.EnglishName)
      Console.WriteLine("   IsMetric:                     {0}", myRI1.IsMetric)
      Console.WriteLine("   ThreeLetterISORegionName:     {0}", myRI1.ThreeLetterISORegionName)
      Console.WriteLine("   ThreeLetterWindowsRegionName: {0}", myRI1.ThreeLetterWindowsRegionName)
      Console.WriteLine("   TwoLetterISORegionName:       {0}", myRI1.TwoLetterISORegionName)
      Console.WriteLine("   CurrencySymbol:               {0}", myRI1.CurrencySymbol)
      Console.WriteLine("   ISOCurrencySymbol:            {0}", myRI1.ISOCurrencySymbol)
      Console.WriteLine()

      ' Compares the RegionInfo above with another RegionInfo created using CultureInfo.
      Dim myRI2 As New RegionInfo(New CultureInfo("en-US", False).LCID)
      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.
'
'   Name:                         US
'   DisplayName:                  United States
'   EnglishName:                  United States
'   IsMetric:                     False
'   ThreeLetterISORegionName:     USA
'   ThreeLetterWindowsRegionName: USA
'   TwoLetterISORegionName:       US
'   CurrencySymbol:               $
'   ISOCurrencySymbol:            USD
'
'The two RegionInfo instances are equal.

注釈

CultureInfoクラスとは異なり、RegionInfoクラスはユーザー設定を表せず、ユーザーの言語やカルチャに依存しません。

RegionInfo オブジェクトに関連付けられている名前

オブジェクトの RegionInfo 名前は、国/地域の ISO 3166 で定義されている 2 文字のコードのいずれかです。 大文字と小文字は重要ではありません。 、TwoLetterISORegionNameおよびThreeLetterISORegionNameプロパティはName、適切なコードを大文字で返します。 現在の名前の RegionInfo 一覧については、「 ISO 3166: 国コード」を参照してください。

RegionInfo オブジェクトのインスタンス化

オブジェクトをRegionInfoインスタンス化するには、コンストラクターに 2 文字のRegionInfo(String)リージョン名 (米国の場合は "US" など)、英語の場合は "en-US" などの特定のカルチャの名前 (米国) を渡します。 ただし、オブジェクトは完全に言語に依存しないため、2 文字の領域名ではなく、特定のカルチャ名を RegionInfo 使用することをお勧めします。 、など、DisplayNameNativeNameCurrencyNativeNameいくつかのRegionInfoプロパティはカルチャ名に依存します。

次の例は、ベルギーを表す 3 つのオブジェクトの RegionInfo プロパティ値の違いを示しています。 1 つ目はリージョン名 (BE) からのみインスタンス化され、2 番目と 3 番目はカルチャ名 (フランス語 (fr-BE ベルギー) と nl-BE オランダ語 (ベルギー) の場合) からインスタンス化されます。 この例では、リフレクションを使用して各 RegionInfo オブジェクトのプロパティ値を取得します。

using System;
using System.Globalization;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      // Instantiate three Belgian RegionInfo objects.
      RegionInfo BE = new RegionInfo("BE");
      RegionInfo frBE = new RegionInfo("fr-BE");
      RegionInfo nlBE = new RegionInfo("nl-BE");

      RegionInfo[] regions = { BE, frBE, nlBE };
      PropertyInfo[] props = typeof(RegionInfo).GetProperties(BindingFlags.Instance | BindingFlags.Public);

      Console.WriteLine("{0,-30}{1,18}{2,18}{3,18}\n",
                        "RegionInfo Property", "BE", "fr-BE", "nl-BE");
      foreach (var prop in props) {
         Console.Write("{0,-30}", prop.Name);
         foreach (var region in regions)
            Console.Write("{0,18}", prop.GetValue(region, null));

         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    RegionInfo Property                           BE             fr-BE             nl-BE
//
//    Name                                          BE             fr-BE             nl-BE
//    EnglishName                              Belgium           Belgium           Belgium
//    DisplayName                              Belgium           Belgium           Belgium
//    NativeName                                België          Belgique            België
//    TwoLetterISORegionName                        BE                BE                BE
//    ThreeLetterISORegionName                     BEL               BEL               BEL
//    ThreeLetterWindowsRegionName                 BEL               BEL               BEL
//    IsMetric                                    True              True              True
//    GeoId                                         21                21                21
//    CurrencyEnglishName                         Euro              Euro              Euro
//    CurrencyNativeName                          euro              euro              euro
//    CurrencySymbol                                 €                 €                 €
//    ISOCurrencySymbol                            EUR               EUR               EUR
Imports System.Globalization
Imports System.Reflection

Module Example
   Public Sub Main()
      ' Instantiate three Belgian RegionInfo objects.
      Dim BE As New RegionInfo("BE")
      Dim frBE As New RegionInfo("fr-BE")
      Dim nlBE As New RegionInfo("nl-BE")

      Dim regions() As RegionInfo = { BE, frBE, nlBE }
      Dim props() As PropertyInfo = GetType(RegionInfo).GetProperties(BindingFlags.Instance Or BindingFlags.Public)
      
      Console.WriteLine("{0,-30}{1,18}{2,18}{3,18}", 
                        "RegionInfo Property", "BE", "fr-BE", "nl-BE")
      Console.WriteLine()
      For Each prop As PropertyInfo In props
         Console.Write("{0,-30}", prop.Name)
         For Each region In regions
            Console.Write("{0,18}", prop.GetValue(region, Nothing))
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    RegionInfo Property                           BE             fr-BE             nl-BE
'    
'    Name                                          BE             fr-BE             nl-BE
'    EnglishName                              Belgium           Belgium           Belgium
'    DisplayName                              Belgium           Belgium           Belgium
'    NativeName                                België          Belgique            België
'    TwoLetterISORegionName                        BE                BE                BE
'    ThreeLetterISORegionName                     BEL               BEL               BEL
'    ThreeLetterWindowsRegionName                 BEL               BEL               BEL
'    IsMetric                                    True              True              True
'    GeoId                                         21                21                21
'    CurrencyEnglishName                         Euro              Euro              Euro
'    CurrencyNativeName                          euro              euro              euro
'    CurrencySymbol                                 €                 €                 €
'    ISOCurrencySymbol                            EUR               EUR               EUR

次のようなシナリオでは、オブジェクトをインスタンス化するときに、国/地域名の代わりにカルチャ名を RegionInfo 使用します。

  • 言語名が最も重要な場合。 たとえば、es-USカルチャ名の場合、アプリケーションで "米国" ではなく "Estados Unidos" を表示する必要がある可能性があります。 国/地域名 (US) だけを使用すると、言語に関係なく "米国" が生成されるため、代わりにカルチャ名を使用する必要があります。

  • スクリプトの違いを考慮する必要がある場合。 たとえば、国/地域 AZ は、名前 az-Latn-AZaz-Cyrl-AZ、ラテン文字とキリル文字を持つアゼルバイジャンの文化を扱っており、この国/地域では非常に異なる場合があります。

  • 詳細のメンテナンスが重要な場合。 メンバーによって RegionInfo 返される値は、オブジェクトがカルチャ名またはリージョン名のどちらを使用してインスタンス化されたかによって異なる場合 RegionInfo があります。 たとえば、次の表に、オブジェクトが "US" リージョン、"en-US" カルチャ、および "es-US" カルチャを使用してインスタンス化された場合 RegionInfo の戻り値の違いを示します。

    メンバー "US" "en-US" "es-US"
    CurrencyNativeName US Dollar US Dollar Dólar de EE.UU.
    Name US en-US es-US
    NativeName United States United States Estados Unidos
    ToString US en-US es-US

コンストラクター

RegionInfo(Int32)

指定したカルチャ識別子に関連付けられた国/地域に基づいて、RegionInfo クラスの新しいインスタンスを初期化します。

RegionInfo(String)

名前で指定された国/地域または特定カルチャに基づいて、RegionInfo クラスの新しいインスタンスを初期化します。

プロパティ

CurrencyEnglishName

国/地域で使用される通貨を英語で表した名前を取得します。

CurrencyNativeName

国/地域で使用される通貨の名前を、その国/地域のネイティブな言語の書式で取得します。

CurrencySymbol

国/地域に関連付けられた通貨記号を取得します。

CurrentRegion

現在のスレッドで使用する国/地域を表す RegionInfo を取得します。

DisplayName

ローカライズされたバージョンの .NET の言語で表した国/地域のフル ネームを取得します。

EnglishName

英語で表した国/地域の完全名を取得します。

GeoId

地理的な領域、国、都市、または場所の一意の識別番号を取得します。

IsMetric

国/地域で、計測のためにメートル法を使用するかどうかを示す値を取得します。

ISOCurrencySymbol

国/地域に関連付けられた 3 文字の ISO 4217 通貨記号を取得します。

Name

現在の RegionInfo オブジェクトの名前、または ISO 3166 で定義された 2 文字の国/地域コードを取得します。

NativeName

国/地域の名前を、その国/地域のネイティブな言語の書式で取得します。

ThreeLetterISORegionName

ISO 3166 で定義された国/地域の 3 文字コードを取得します。

ThreeLetterWindowsRegionName

RegionInfo が表す国/地域に対して Windows が割り当てた 3 文字コードを取得します。

TwoLetterISORegionName

ISO 3166 で定義された国/地域の 2 文字コードを取得します。

メソッド

Equals(Object)

指定したオブジェクトが現在の RegionInfo と同じインスタンスかどうかを確認します。

GetHashCode()

現在の RegionInfo のハッシュ関数として機能します。ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在の RegionInfo に対して指定されたカルチャ名、または ISO 3166 で定義された 2 文字の国/地域コードを含む文字列を返します。

適用対象

こちらもご覧ください