CultureInfo コンストラクター

定義

CultureInfo クラスの新しいインスタンスを初期化します。

オーバーロード

CultureInfo(Int32)

カルチャ識別子によって指定するカルチャに基づいて、CultureInfo クラスの新しいインスタンスを初期化します。

CultureInfo(String)

名前で指定するカルチャに基づいて、CultureInfo クラスの新しいインスタンスを初期化します。

CultureInfo(Int32, Boolean)

カルチャ識別子で指定されたカルチャと、Windowsからユーザーが選択したカルチャ設定を使用するかどうかを指定する値に基づいて、クラスの新しいインスタンスCultureInfoを初期化します。

CultureInfo(String, Boolean)

名前で指定されたカルチャと、Windowsからユーザーが選択したカルチャ設定を使用するかどうかを指定する値に基づいて、クラスの新しいインスタンスCultureInfoを初期化します。

CultureInfo(Int32)

カルチャ識別子によって指定するカルチャに基づいて、CultureInfo クラスの新しいインスタンスを初期化します。

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

パラメーター

culture
Int32

定義済みの CultureInfo 識別子、既存の CultureInfo オブジェクトの LCID プロパティ、または Windows 専用カルチャ識別子。

例外

culture が 0 未満です。

culture が有効なカルチャ識別子ではありません。 詳細については、「呼び出し時の注意」をご覧ください。

注釈

Windows システムで使用できるカルチャの定義済みカルチャ識別子は、Windows でサポートされている言語/地域名の一覧の [言語タグ] 列に一覧表示されます。 カルチャ名は、BCP 47 によって定義されている標準に準拠します。

ほとんどの場合、 culture パラメーターは対応する各国語サポート (NLS) ロケール識別子にマップされます。 パラメーターのculture値は、新しいCultureInfoプロパティのLCID値になります。

ロケール名は LCID より適しているため、ロケール名コンストラクター CultureInfo.CultureInfoを呼び出することをお勧めします。 カスタム ロケールの場合は、ロケール名が必要です。

ユーザーは、コントロール パネルの地域と言語オプションの部分を通じて、Windowsの現在のカルチャに関連付けられている値の一部をオーバーライドすることを選択できます。 たとえば、ユーザーは別の形式で日付を表示したり、カルチャの既定値以外の通貨を使用したりできます。 指定したカルチャ識別子が現在のWindowsカルチャのカルチャ識別子と一致する場合、このコンストラクターは、プロパティによって返されるインスタンスのプロパティのユーザー設定や、プロパティによってDateTimeFormat返されるインスタンスのNumberFormatInfoDateTimeFormatInfoプロパティなど、これらのオーバーライドを使用するオーバーライドをNumberFormat作成CultureInfoします。 ユーザー設定と関連付けられている CultureInfo カルチャと互換性がない場合 (たとえば、選択したカレンダーがいずれかの OptionalCalendarsカレンダーではない場合)、メソッドの結果とプロパティの値は未定義です。

指定したカルチャ識別子が現在のWindowsカルチャの識別子と一致しない場合、このコンストラクターは、指定したカルチャの既定値を使用する値を作成CultureInfoします。

このプロパティは UseUserOverride 常に . に true設定されます。

たとえば、アラビア語 (サウジアラビア) が現在のWindowsカルチャであり、ユーザーがカレンダーをイスラム暦からグレゴリオ暦に変更したとします。

ユーロを使用するカルチャの場合、.NET FrameworkとWindows XP は既定の通貨をユーロとして設定します。 ただし、古いバージョンのWindowsには対応していません。 したがって、古いバージョンのWindowsのユーザーが、コントロール パネルの地域および言語オプションの部分を通じて通貨設定を変更していない場合、通貨が正しくない可能性があります。 通貨に.NET Frameworkの既定の設定を使用するには、パラメーターをCultureInfo受け取って設定するコンストラクター オーバーロードをuseUserOverride使用するfalse必要があります。

注意

下位互換性のために、0x0004または0x7c04のパラメーターを使用してculture構築されたカルチャは、それぞれプロパティzh-CHSまたはzh-CHTプロパティを持ちますName。 古い名前を使用する理由がない限り、代わりに現在の zh-Hans 標準カルチャ名を zh-Hant使用してカルチャを構築することをお勧めします。

注意 (呼び出し元)

.NET Framework 3.5 以前のバージョンでは、if culture が有効なカルチャ識別子でない場合がスローArgumentExceptionされます。 .NET Framework 4 以降では、このコンストラクターは CultureNotFoundException. Windows 7 以降で .NET Framework 4 以降で実行されるアプリ以降、オペレーティング システムから識別子cultureを持つオブジェクトを取得CultureInfoしようとします。オペレーティング システムがそのカルチャをサポートしていない場合、メソッドは例外をCultureNotFoundExceptionスローします。

.NET 6 以降のバージョンでは、グローバリゼーション インバリアント モードが有効になっている環境 (たとえば、一部の Docker コンテナー、インバリアント カルチャ以外のカルチャが指定されている環境) でアプリが実行されている場合、a CultureNotFoundException がスローされます。

こちらもご覧ください

適用対象

CultureInfo(String)

名前で指定するカルチャに基づいて、CultureInfo クラスの新しいインスタンスを初期化します。

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

パラメーター

name
String

定義済みの CultureInfo 名、既存の CultureInfoName、または Windows 専用カルチャ名。 name では、大文字と小文字は区別されません。

例外

name が null です。

name が有効なカルチャ名ではありません。 詳細については、「呼び出し時の注意」をご覧ください。

次の例では、現在のカルチャを取得します。 フランス語 (フランス) カルチャ以外の場合は、コンストラクターを CultureInfo(String) 呼び出して、フランス語 (フランス) カルチャを表すオブジェクトをインスタンス化 CultureInfo し、現在のカルチャにします。 それ以外の場合は、フランス語 (ルクセンブルク) カルチャを表すオブジェクトをインスタンス化 CultureInfo し、現在のカルチャにします。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo current = CultureInfo.CurrentCulture;
      Console.WriteLine("The current culture is {0}", current.Name);
      CultureInfo newCulture;
      if (current.Name.Equals("fr-FR"))
         newCulture = new CultureInfo("fr-LU");
      else
         newCulture = new CultureInfo("fr-FR");

      CultureInfo.CurrentCulture = newCulture;
      Console.WriteLine("The current culture is now {0}",
                        CultureInfo.CurrentCulture.Name);
   }
}
// The example displays output like the following:
//     The current culture is en-US
//     The current culture is now fr-FR
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      Console.WriteLine("The current culture is {0}", current.Name)
      Dim newCulture As CultureInfo
      If current.Name.Equals("fr-FR") Then
         newCulture = New CultureInfo("fr-LU")
      Else   
         newCulture = new CultureInfo("fr-FR")
      End If
      
      CultureInfo.CurrentCulture = newCulture
      Console.WriteLine("The current culture is now {0}", 
                        CultureInfo.CurrentCulture.Name)   
   End Sub
End Module
' The example displays output like the following:
'     The current culture is en-US
'     The current culture is now fr-FR

注釈

Windows システムで定義済みのカルチャ名の一覧については、Windows でサポートされている言語/リージョン名の一覧の言語タグ 列を参照してください。 カルチャ名は、BCP 47 によって定義されている標準に準拠します。 また、Windows 10 以降では、name任意の有効な BCP-47 言語タグを指定できます。

あるString.Empty場合name、コンストラクターはインバリアント カルチャのインスタンスを作成します。これは、プロパティのInvariantCulture値を取得することと同じです。

ユーザーは、コントロール パネルの地域と言語オプションの部分を通じて、Windowsの現在のカルチャに関連付けられている値の一部をオーバーライドすることを選択できます。 たとえば、ユーザーは別の形式で日付を表示したり、カルチャの既定値以外の通貨を使用したりできます。 関連付けられているカルチャ識別子が現在のWindowsカルチャのカルチャ識別子とname一致する場合、このコンストラクターは、プロパティによって返されるインスタンスのプロパティのユーザー設定や、プロパティによってDateTimeFormat返されるインスタンスのNumberFormatInfoDateTimeFormatInfoプロパティなど、これらのオーバーライドを使用するオブジェクトをNumberFormat作成CultureInfoします。 ユーザー設定と関連付けられている CultureInfoカルチャと互換性がない場合(たとえば、選択したカレンダーがいずれかの OptionalCalendarsカレンダーでない場合)、メソッドの結果とプロパティの値は未定義です。

関連付けられているnameカルチャ識別子が現在のWindowsカルチャのカルチャ識別子と一致しない場合、このコンストラクターは、指定したカルチャの既定値を使用するオブジェクトを作成CultureInfoします。

このプロパティは UseUserOverride 常に . に true設定されます。

たとえば、アラビア語 (サウジアラビア) がWindowsの現在のカルチャであり、ユーザーがカレンダーをイスラム暦からグレゴリオ暦に変更したとします。

新しいCultureInfoプロパティはLCID、指定した名前に関連付けられているカルチャ識別子に設定されます。

ユーロを使用するカルチャの場合、.NET FrameworkとWindows XP は既定の通貨をユーロに設定します。 ただし、古いバージョンのWindowsではこれを行いません。 したがって、古いバージョンのWindowsのユーザーが、コントロール パネルの地域および言語オプションの部分を通じて通貨設定を変更していない場合、通貨が正しくない可能性があります。 通貨に.NET Frameworkの既定の設定を使用するには、パラメーターをCultureInfo受け取って設定するコンストラクター オーバーロードをuseUserOverride使用するfalse必要があります。

注意 (呼び出し元)

.NET Framework 3.5 以前のバージョンでは、if が有効なカルチャ名でない場合nameがスローArgumentExceptionされます。 .NET Framework 4 以降では、このコンストラクターは CultureNotFoundException. Windows 7 以降で.NET Framework 4 以降で実行されるアプリ以降、メソッドはnameオペレーティング システムから識別子を持つオブジェクトの取得CultureInfoを試みます。オペレーティング システムがそのカルチャをサポートしていない場合、および補助カルチャまたは置換カルチャの名前でない場合name、メソッドは例外をCultureNotFoundExceptionスローします。

.NET 6 以降のバージョンでは、グローバリゼーション インバリアント モードが有効になっている環境 (たとえば、一部の Docker コンテナー、インバリアント カルチャ以外のカルチャが指定されている環境) でアプリが実行されている場合、a CultureNotFoundException がスローされます。

こちらもご覧ください

適用対象

CultureInfo(Int32, Boolean)

カルチャ識別子で指定されたカルチャと、Windowsからユーザーが選択したカルチャ設定を使用するかどうかを指定する値に基づいて、クラスの新しいインスタンスCultureInfoを初期化します。

public:
 CultureInfo(int culture, bool useUserOverride);
public CultureInfo (int culture, bool useUserOverride);
new System.Globalization.CultureInfo : int * bool -> System.Globalization.CultureInfo
Public Sub New (culture As Integer, useUserOverride As Boolean)

パラメーター

culture
Int32

定義済みの CultureInfo 識別子、既存の CultureInfo オブジェクトの LCID プロパティ、または Windows 専用カルチャ識別子。

useUserOverride
Boolean

trueユーザーが選択したカルチャ設定 (Windowsのみ) を使用する場合は 、false既定のカルチャ設定を使用します。

例外

culture が 0 未満です。

culture が有効なカルチャ識別子ではありません。 詳細については、「呼び出し時の注意」をご覧ください。

注釈

Windows システムで使用できる定義済みのカルチャ識別子は、Windowsで [サポートされている言語/リージョン名の一覧の 言語タグ] 列に一覧表示されます。 カルチャ名は、BCP 47 によって定義されている標準に準拠します。

ほとんどの場合、 culture パラメーターは対応する各国語サポート (NLS) ロケール識別子にマップされます。 パラメーターのculture値は、新しいCultureInfoプロパティのLCID値になります。

ロケール名は LCID より適しているため、ロケール名コンストラクター CultureInfo.CultureInfoを呼び出することをお勧めします。 カスタム ロケールの場合は、ロケール名が必要です。

ユーザーは、コントロール パネルの地域と言語オプションの部分を通じて、Windowsの現在のカルチャに関連付けられている値の一部をオーバーライドすることを選択できます。 たとえば、ユーザーは別の形式で日付を表示したり、カルチャの既定値以外の通貨を使用したりできます。

通常、アプリケーションではユーザーのオーバーライドを禁止しないでください。 オーバーライドを禁止しても、それ自体がデータの安定性を保証するわけではありません。 詳細については、 Culture データを安定と見なすべきではありません (インバリアントを除く) ブログエントリを参照してください。

プロパティがUseUserOverride設定trueされていて、指定したカルチャ識別子が現在のWindowsカルチャの識別子と一致する場合、このコンストラクターは、プロパティによって返されるインスタンスのプロパティのユーザー設定や、プロパティによってDateTimeFormat返されるインスタンスのNumberFormatInfoDateTimeFormatInfoプロパティなど、これらのオーバーライドを使用するオーバーライドをNumberFormat作成CultureInfoします。 ユーザー設定と関連付けられている CultureInfoカルチャと互換性がない場合(たとえば、選択したカレンダーがいずれかの OptionalCalendarsカレンダーでない場合)、メソッドの結果とプロパティの値は未定義です。

それ以外の場合、このコンストラクターは CultureInfo 、指定したカルチャの既定値を使用するオブジェクトを作成します。

パラメーターの値は useUserOverride 、プロパティの UseUserOverride 値になります。

たとえば、アラビア語 (サウジアラビア) がWindowsの現在のカルチャであり、ユーザーがカレンダーをイスラム暦からグレゴリオ暦に変更したとします。

ユーロを使用するカルチャの場合、.NET FrameworkとWindows XP は既定の通貨をユーロに設定します。 ただし、古いバージョンのWindowsには対応していません。 したがって、古いバージョンのWindowsのユーザーが、コントロール パネルの地域および言語オプションの部分を通じて通貨設定を変更していない場合、通貨が正しくない可能性があります。 通貨に.NET Frameworkの既定の設定を使用するには、アプリケーションでパラメーターをuseUserOverride設定するfalse必要があります。

注意

下位互換性のために、0x0004または0x7c04のパラメーターを使用して culture 構築されたカルチャには、それぞれ zh-CHS または zh-CHT のプロパティがあります Name 。 古い名前を使用する理由がない限り、代わりに現在の zh-Hans 標準カルチャ名または zh-Hant を使用してカルチャを構築することをお勧めします。

注意 (呼び出し元)

.NET Framework 3.5 以前のバージョンでは、if culture が有効なカルチャ識別子でない場合がスローArgumentExceptionされます。 .NET Framework 4 以降では、このコンストラクターは CultureNotFoundException. Windows 7 以降で .NET Framework 4 以降で実行されるアプリ以降、オペレーティング システムから識別子cultureを持つオブジェクトを取得CultureInfoしようとします。オペレーティング システムがそのカルチャをサポートしていない場合、メソッドは例外をCultureNotFoundExceptionスローします。

.NET 6 以降のバージョンでは、グローバリゼーション インバリアント モードが有効になっている環境 (たとえば、一部の Docker コンテナー、インバリアント カルチャ以外のカルチャが指定されている環境) でアプリが実行されている場合、a CultureNotFoundException がスローされます。

こちらもご覧ください

適用対象

CultureInfo(String, Boolean)

名前で指定されたカルチャと、Windowsからユーザーが選択したカルチャ設定を使用するかどうかを指定する値に基づいて、クラスの新しいインスタンスCultureInfoを初期化します。

public:
 CultureInfo(System::String ^ name, bool useUserOverride);
public CultureInfo (string name, bool useUserOverride);
new System.Globalization.CultureInfo : string * bool -> System.Globalization.CultureInfo
Public Sub New (name As String, useUserOverride As Boolean)

パラメーター

name
String

定義済みの CultureInfo 名、既存の CultureInfoName、または Windows 専用カルチャ名。 name では、大文字と小文字は区別されません。

useUserOverride
Boolean

trueユーザーが選択したカルチャ設定 (Windowsのみ) を使用する場合は 、false既定のカルチャ設定を使用します。

例外

name が null です。

name が有効なカルチャ名ではありません。 詳細については、「呼び出し時の注意」をご覧ください。

注釈

定義済みのカルチャ名の一覧については、Windowsでサポートされている言語/リージョン名の一覧の言語タグ 列を参照してください。 カルチャ名は、BCP 47 によって定義されている標準に準拠します。 また、Windows 10 以降では、name任意の有効な BCP-47 言語タグを指定できます。

あるString.Empty場合name、コンストラクターはインバリアント カルチャのインスタンスを作成します。これは、プロパティのInvariantCulture値を取得することと同じです。

ユーザーは、コントロール パネルの地域と言語オプションの部分を使用して、現在のWindowsカルチャに関連付けられている値の一部をオーバーライドすることを選択できます。 たとえば、ユーザーは別の形式で日付を表示したり、カルチャの既定値以外の通貨を使用したりできます。

通常、アプリケーションではユーザーのオーバーライドを禁止しないでください。 オーバーライドを禁止しても、それ自体がデータの安定性を保証するわけではありません。 詳細については、 Culture データを安定と見なすべきではありません (インバリアントを除く) ブログエントリを参照してください。

プロパティがUseUserOverride設定されていて、指定したカルチャ名にtrue関連付けられているカルチャ識別子が現在のWindowsカルチャのカルチャ識別子と一致する場合、このコンストラクターは、プロパティによって返されるインスタンスのプロパティのユーザー設定や、プロパティによってDateTimeFormat返されるインスタンスのDateTimeFormatInfoNumberFormatInfoプロパティなど、これらのオーバーライドを使用するオーバーライドをNumberFormat作成CultureInfoします。 ユーザー設定と関連付けられている CultureInfoカルチャと互換性がない場合(たとえば、選択したカレンダーがいずれかの OptionalCalendarsカレンダーでない場合)、メソッドの結果とプロパティの値は未定義です。

それ以外の場合、このコンストラクターは CultureInfo 、指定したカルチャの既定値を使用するオブジェクトを作成します。

パラメーターの値は useUserOverride 、プロパティの UseUserOverride 値になります。

たとえば、アラビア語 (サウジアラビア) がWindowsの現在のカルチャであり、ユーザーがカレンダーをイスラム暦からグレゴリオ暦に変更したとします。

新しいCultureInfoプロパティはLCID、指定した名前に関連付けられているカルチャ識別子に設定されます。

ユーロを使用するカルチャの場合、.NET FrameworkとWindows XP は既定の通貨をユーロに設定します。 ただし、古いバージョンのWindowsではこれを行いません。 したがって、古いバージョンのWindowsのユーザーが、コントロール パネルの地域および言語オプションの部分を通じて通貨設定を変更していない場合、通貨が正しくない可能性があります。 通貨に.NET Frameworkの既定の設定を使用するには、アプリケーションでパラメーターをuseUserOverride設定するfalse必要があります。

注意 (呼び出し元)

.NET Framework 3.5 以前のバージョンでは、if が有効なカルチャ名でない場合nameがスローArgumentExceptionされます。 .NET Framework 4 以降では、このコンストラクターは CultureNotFoundException. Windows 7 以降で.NET Framework 4 以降で実行されるアプリ以降、メソッドはnameオペレーティング システムから識別子を持つオブジェクトの取得CultureInfoを試みます。オペレーティング システムがそのカルチャをサポートしていない場合、および補助カルチャまたは置換カルチャの名前でない場合name、メソッドは例外をCultureNotFoundExceptionスローします。

.NET 6 以降のバージョンでは、グローバリゼーション インバリアント モードが有効になっている環境 (たとえば、一部の Docker コンテナー、インバリアント カルチャ以外のカルチャが指定されている環境) でアプリが実行されている場合、a CultureNotFoundException がスローされます。

こちらもご覧ください

適用対象