CultureInfo オブジェクトに関連付けられている名前
CultureInfo と CompareInfo などの関連クラスに関連付けられているカルチャ名には、いくつかのバリエーションがあります。 カルチャ名は、CultureInfo に使用されるコンストラクターに応じて、異なる方法で処理されます。 このクラスは、アプリケーションがカルチャ名を渡す 2 つのコンストラクターと、識別子によって表されるカルチャを処理する 2 つのコンストラクターを定義します。
カルチャ情報がカルチャ名で構築されている場合の名前処理
カルチャ名を渡して CultureInfo オブジェクトを作成するとき、アプリケーションは名前を表す文字列を受け取るコンストラクターのいずれかを使用できます。 たとえば、次の文字列が渡されるとします。
英語 (米国) の場合は "en-US"。
電話帳の並べ替え順序を代替の並べ替え順序とするドイツ語 (ドイツ) の場合は "de-DE_phoneb"。
文字列比較に "en-US" 並べ替え順序を使用するカスタム カルチャの場合は "fj-FJ"。
文字列ベースの CultureInfo コンストラクターの 1 つと関連プログラミング要素によって処理されるカルチャ名を次の表に示します。
要素 |
en-US |
de-DE_phoneb |
カスタム カルチャ |
---|---|---|---|
CultureInfo コンストラクター |
en-US |
de-DE_phoneb |
fj-FJ |
CultureInfo.ToString |
en-US |
de-DE_phoneb |
fj-FJ |
CultureInfo.Name |
en-US |
de-DE |
fj-FJ |
TextInfo.CultureName |
en-US |
de-DE |
fj-FJ |
CompareInfo.Name |
en-US |
de-DE_phoneb |
en-US |
CultureInfo.ToString は、大文字設定を "正規化" することを除き、常にコンストラクターに渡された値をそのまま返します。 たとえば、アプリケーションがコンストラクターに "En-Us" を渡すと、ToString は "en-US" を返します。 CultureInfo.Name は、代替の並べ替えについては何も示さない "短い" 形式の名前を常に返します。たとえば、"de-DE_phoneb" ではなく、"de-DE" を返します。
TextInfo.CultureName は、CultureInfo.Name と常に同じです。 最後に、CompareInfo.Name は、並べ替えの名前がカルチャ自体の名前とまったく関連しない場合でも、その並べ替えの名前を返します。
カルチャ情報がカルチャ識別子で構築されている場合の名前処理
アプリケーションは、カルチャ識別子を渡して CultureInfo オブジェクトを作成することもできます。 この場合、アプリケーションは、識別子の値を受け取るコンストラクターの 1 つを使用できます。 たとえば、コンストラクターに次のカルチャ識別子が渡されるとします。
英語 (米国) の場合は 0x0409。
電話帳の並べ替えを使用するドイツ語 (ドイツ) の場合は 0x10407。
カスタム カルチャ ("fj-FJ") の場合は 0x0c00。これは現在の既定のユーザー カルチャである必要があります。このカスタム カルチャが文字列比較に "en-US" の並べ替え順序を使用することを前提とします。
識別子ベースの CultureInfo コンストラクターの 1 つと関連プログラミング要素によって処理されるカルチャの名前付けを次の表に示します。 名前が前の例とまったく同じであることに注意してください。
要素 |
en-US |
de-DE_phoneb |
カスタム カルチャ |
---|---|---|---|
CultureInfo コンストラクター |
0x0409 |
0x0407 |
0x0C00 |
CultureInfo.ToString |
en-US |
de-DE_phoneb |
fj-FJ |
CultureInfo.Name |
en-US |
de-DE |
fj-FJ |
TextInfo.CultureName |
en-US |
de-DE |
fj-FJ |
CompareInfo.Name |
en-US |
de-DE_phoneb |
en-US |