CultureInfo コンストラクター

定義

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

オーバーロード

CultureInfo(Int32)

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

CultureInfo(String)

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

CultureInfo(Int32, Boolean)

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

CultureInfo(String, Boolean)

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

CultureInfo(Int32)

ソース:
CultureInfo.cs
ソース:
CultureInfo.cs
ソース:
CultureInfo.cs

カルチャ識別子によって指定するカルチャに基づいて、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値は、新しい CultureInfoLCID プロパティの値になります。

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

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

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

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

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

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

注意

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

注意 (呼び出し元)

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

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

こちらもご覧ください

適用対象

CultureInfo(String)

ソース:
CultureInfo.cs
ソース:
CultureInfo.cs
ソース:
CultureInfo.cs

名前で指定するカルチャに基づいて、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 ChangeEx1
{
    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 の現在のカルチャに関連付けられている値の一部をオーバーライドすることを選択できます。 たとえば、ユーザーは日付を別の形式で表示するか、カルチャの既定値以外の通貨を使用するかを選択できます。 にname関連付けられているカルチャ識別子が現在の Windows カルチャのカルチャ識別子と一致する場合、このコンストラクターは、プロパティによって返されるインスタンスのプロパティのユーザー設定や、 プロパティによってDateTimeFormat返されるインスタンスのNumberFormatInfoDateTimeFormatInfoプロパティなど、これらのオーバーライドを使用するオブジェクトをNumberFormat作成CultureInfoします。 ユーザー設定が に関連付 CultureInfoけられているカルチャと互換性がない場合 (たとえば、選択したカレンダーが の OptionalCalendars1 つではない場合)、メソッドの結果とプロパティの値は未定義になります。

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

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

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

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

注意 (呼び出し元)

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

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

こちらもご覧ください

適用対象

CultureInfo(Int32, Boolean)

ソース:
CultureInfo.cs
ソース:
CultureInfo.cs
ソース:
CultureInfo.cs

カルチャ識別子で指定されたカルチャと、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値は、新しい CultureInfoLCID プロパティの値になります。

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

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

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

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

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

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

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

  • ( CultureInfo("0x0401", true) カルチャ名 ar-SA) Calendar を に GregorianCalendar 設定し (ユーザー設定) を に設定し UseUserOverride 、 を に設定します true

  • ( CultureInfo("0x0401", false) カルチャ名 ar-SA) Calendar を に HijriCalendar 設定し (ar-SA の既定のカレンダー) を に設定し UseUserOverride 、 を に false設定します。

  • ( CultureInfo("0x041E", true) カルチャ名 th-TH) Calendar を 使用すると、 が に ThaiBuddhistCalendar 設定され (th-TH の既定のカレンダー) が に設定され UseUserOverride 、 が に true設定されます。

  • ( CultureInfo("0x041E", false) カルチャ名 th-TH) Calendar を 使用すると、 が に ThaiBuddhistCalendar 設定され (th-TH の既定のカレンダー) が に設定され UseUserOverride 、 が に false設定されます。

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

注意

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

注意 (呼び出し元)

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

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

こちらもご覧ください

適用対象

CultureInfo(String, Boolean)

ソース:
CultureInfo.cs
ソース:
CultureInfo.cs
ソース:
CultureInfo.cs

名前で指定されたカルチャと、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 データを安定と見なすべきではありません (インバリアントを除く)」を参照してください。

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

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

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

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

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

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

注意 (呼び出し元)

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

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

こちらもご覧ください

適用対象