CultureInfo クラス
カルチャの名前、書記体系、使用する暦などの特定のカルチャに関する情報を表し、カルチャ固有のオブジェクトにアクセスできるようにします。このオブジェクトは、日付の形式の指定や文字列の並べ替えなどの共通の操作を行うための情報を提供します。
この型のすべてのメンバの一覧については、CultureInfo メンバ を参照してください。
System.Object
System.Globalization.CultureInfo
<Serializable>
Public Class CultureInfo Implements ICloneable, IFormatProvider
[C#]
[Serializable]
public class CultureInfo : ICloneable, IFormatProvider
[C++]
[Serializable]
public __gc class CultureInfo : public ICloneable, IFormatProvider
[JScript]
public
Serializable
class CultureInfo implements ICloneable, IFormatProvider
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
CultureInfo クラスは、関連付けられた言語、サブ言語、国/地域、暦、文化的な慣習など、カルチャ固有の情報を保持します。このクラスは、 DateTimeFormatInfo 、 NumberFormatInfo 、 CompareInfo 、および TextInfo のカルチャ固有のインスタンスへのアクセスも提供します。これらのオブジェクトは、日付と数値のキャスト、書式指定、文字列の比較など、カルチャ固有の操作に必要な情報を格納します。
String クラスは、このクラスを間接的に使用して、既定のカルチャに関する情報を取得します。
カルチャの名前は、RFC 1766 標準の "<languagecode2>-<country/regioncode2>" という形式に準拠します。<languagecode2> は ISO 639-1 に基づく 2 桁の小文字コードであり、<country/regioncode2> は ISO 3166 に基づく 2 桁の大文字コードです。たとえば、米国の英語は "en-US" となります。2 文字の言語コードが存在しない場合は、ISO 639-2 から派生した 3 文字のコードを使用します。たとえば、3 文字のコード "div" は、ディベヒ語を使用するカルチャに対して使用します。一部のカルチャ名には、文字の種類を示すサフィックスが付きます。たとえば、"-Cyrl" はキリル文字を示し、"-Latn" はラテン文字を示します。
次に示す定義済みの CultureInfo 名と識別子は、このクラスを含め、 System.Globalization 名前空間内のクラスで使用できます。
カルチャ名 | カルチャ識別子 | 言語 - 国/地域 |
---|---|---|
"" (空の文字列) | 0x007F | インバリアント カルチャ |
af | 0x0036 | アフリカーンス語 |
af-ZA | 0x0436 | アフリカーンス語 - 南アフリカ |
sq | 0x001C | アルバニア語 |
sq-AL | 0x041C | アルバニア語 - アルバニア |
ar | 0x0001 | アラビア語 |
ar-DZ | 0x1401 | アラビア語 - アルジェリア |
ar-BH | 0x3C01 | アラビア語 - バーレーン |
ar-EG | 0x0C01 | アラビア語 - エジプト |
ar-IQ | 0x0801 | アラビア語 - イラク |
ar-JO | 0x2C01 | アラビア語 - ヨルダン |
ar-KW | 0x3401 | アラビア語 - クウェート |
ar-LB | 0x3001 | アラビア語 - レバノン |
ar-LY | 0x1001 | アラビア語 - リビア |
ar-MA | 0x1801 | アラビア語 - モロッコ |
ar-OM | 0x2001 | アラビア語 - オマーン |
ar-QA | 0x4001 | アラビア語 - カタール |
ar-SA | 0x0401 | アラビア語 - サウジアラビア |
ar-SY | 0x2801 | アラビア語 - シリア |
ar-TN | 0x1C01 | アラビア語 - チュニジア |
ar-AE | 0x3801 | アラビア語 - アラブ首長国連邦 |
ar-YE | 0x2401 | アラビア語 - イエメン |
hy | 0x002B | アルメニア語 |
hy-AM | 0x042B | アルメニア語 - アルメニア |
az | 0x002C | アゼリ語 |
az-AZ-Cyrl | 0x082C | アゼリ語 (キリル文字) - アゼルバイジャン |
az-AZ-Latn | 0x042C | アゼリ語 (ラテン文字) - アゼルバイジャン |
eu | 0x002D | バスク語 |
eu-ES | 0x042D | バスク語 - バスク |
be | 0x0023 | ベラルーシ語 |
be-BY | 0x0423 | ベラルーシ語 - ベラルーシ |
bg | 0x0002 | ブルガリア語 |
bg-BG | 0x0402 | ブルガリア語 - ブルガリア |
ca | 0x0003 | カタロニア語 |
ca-ES | 0x0403 | カタロニア語 - カタルーニャ |
zh-HK | 0x0C04 | 中国語 - 香港 |
zh-MO | 0x1404 | 中国語 - マカオ |
zh-CN | 0x0804 | 中国語 - 中国 |
zh-CHS | 0x0004 | 簡体字中国語 |
zh-SG | 0x1004 | 中国語 - シンガポール |
zh-TW | 0x0404 | 中国語 - 台湾 |
zh-CHT | 0x7C04 | 繁体字中国語 |
hr | 0x001A | クロアチア語 |
hr-HR | 0x041A | クロアチア語 - クロアチア |
cs | 0x0005 | チェコ語 |
cs-CZ | 0x0405 | チェコ語 - チェコ共和国 |
da | 0x0006 | デンマーク語 |
da-DK | 0x0406 | デンマーク語 - デンマーク |
div | 0x0065 | ディベヒ語 |
div-MV | 0x0465 | ディベヒ語 - モルジブ |
nl | 0x0013 | オランダ語 |
nl-BE | 0x0813 | オランダ語 - ベルギー |
nl-NL | 0x0413 | オランダ語 - オランダ |
en | 0x0009 | 英語 |
en-AU | 0x0C09 | 英語 - オーストラリア |
en-BZ | 0x2809 | 英語 - ベリーズ |
en-CA | 0x1009 | 英語 - カナダ |
en-CB | 0x2409 | 英語 - 西インド諸島 |
en-IE | 0x1809 | 英語 - アイルランド |
en-JM | 0x2009 | 英語 - ジャマイカ |
en-NZ | 0x1409 | 英語 - ニュージーランド |
en-PH | 0x3409 | 英語 - フィリピン |
en-ZA | 0x1C09 | 英語 - 南アフリカ |
en-TT | 0x2C09 | 英語 - トリニダードトバゴ |
en-GB | 0x0809 | 英語 - 英国 |
en-US | 0x0409 | 英語 - 米国 |
en-ZW | 0x3009 | 英語 - ジンバブエ |
et | 0x0025 | エストニア語 |
et-EE | 0x0425 | エストニア語 - エストニア |
fo | 0x0038 | フェロー語 |
fo-FO | 0x0438 | フェロー語 - フェロー諸島 |
fa | 0x0029 | ペルシア語 |
fa-IR | 0x0429 | ペルシア語 - イラン |
fi | 0x000B | フィンランド語 |
fi-FI | 0x040B | フィンランド語 - フィンランド |
fr | 0x000C | フランス語 |
fr-BE | 0x080C | フランス語 - ベルギー |
fr-CA | 0x0C0C | フランス語 - カナダ |
fr-FR | 0x040C | フランス語 - フランス |
fr-LU | 0x140C | フランス語 - ルクセンブルグ |
fr-MC | 0x180C | フランス語 - モナコ |
fr-CH | 0x100C | フランス語 - スイス |
gl | 0x0056 | ガリシア語 |
gl-ES | 0x0456 | ガリシア語 - ガリシア |
ka | 0x0037 | グルジア語 |
ka-GE | 0x0437 | グルジア語 - グルジア共和国 |
de | 0x0007 | ドイツ語 |
de-AT | 0x0C07 | ドイツ語 - オーストリア |
de-DE | 0x0407 | ドイツ語 - ドイツ |
de-LI | 0x1407 | ドイツ語 - リヒテンシュタイン |
de-LU | 0x1007 | ドイツ語 - ルクセンブルグ |
de-CH | 0x0807 | ドイツ語 - スイス |
el | 0x0008 | ギリシア語 |
el-GR | 0x0408 | ギリシア語 - ギリシア |
gu | 0x0047 | グジャラート語 |
gu-IN | 0x0447 | グジャラート語 - インド |
he | 0x000D | ヘブライ語 |
he-IL | 0x040D | ヘブライ語 - イスラエル |
hi | 0x0039 | ヒンディー語 |
hi-IN | 0x0439 | ヒンディー語 - インド |
hu | 0x000E | ハンガリー語 |
hu-HU | 0x040E | ハンガリー語 - ハンガリー |
is | 0x000F | アイスランド語 |
is-IS | 0x040F | アイスランド語 - アイスランド |
id | 0x0021 | インドネシア語 |
id-ID | 0x0421 | インドネシア語 - インドネシア |
it | 0x0010 | イタリア語 |
it-IT | 0x0410 | イタリア語 - イタリア |
it-CH | 0x0810 | イタリア語 - スイス |
ja | 0x0011 | 日本語 |
ja-JP | 0x0411 | 日本語 - 日本 |
kn | 0x004B | カナラ語 |
kn-IN | 0x044B | カナラ語 - インド |
kk | 0x003F | カザフ語 |
kk-KZ | 0x043F | カザフ語 - カザフスタン |
kok | 0x0057 | コンカニ語 |
kok-IN | 0x0457 | コンカニ語 - インド |
ko | 0x0012 | 韓国語 |
ko-KR | 0x0412 | 韓国語 - 韓国 |
ky | 0x0040 | キルギス語 |
ky-KZ | 0x0440 | キルギス語 - カザフスタン |
lv | 0x0026 | ラトビア語 |
lv-LV | 0x0426 | ラトビア語 - ラトビア |
lt | 0x0027 | リトアニア語 |
lt-LT | 0x0427 | リトアニア語 - リトアニア |
mk | 0x002F | マケドニア語 |
mk-MK | 0x042F | マケドニア語 - FYROM (マケドニア共和国) |
ms | 0x003E | マレー語 |
ms-BN | 0x083E | マレー語 - ブルネイ |
ms-MY | 0x043E | マレー語 - マレーシア |
mr | 0x004E | マラティー語 |
mr-IN | 0x044E | マラティー語 - インド |
mn | 0x0050 | モンゴル語 |
mn-MN | 0x0450 | モンゴル語 - モンゴル |
no | 0x0014 | ノルウェー語 |
nb-NO | 0x0414 | ノルウェー語 (ブークモール) - ノルウェー |
nn-NO | 0x0814 | ノルウェー (ニノーシク) - ノルウェー |
pl | 0x0015 | ポーランド語 |
pl-PL | 0x0415 | ポーランド語 - ポーランド |
pt | 0x0016 | ポルトガル語 |
pt-BR | 0x0416 | ポルトガル語 - ブラジル |
pt-PT | 0x0816 | ポルトガル語 - ポルトガル |
pa | 0x0046 | パンジャブ語 |
pa-IN | 0x0446 | パンジャブ語 - インド |
ro | 0x0018 | ルーマニア語 |
ro-RO | 0x0418 | ルーマニア語 - ルーマニア |
ru | 0x0019 | ロシア語 |
ru-RU | 0x0419 | ロシア語 - ロシア |
sa | 0x004F | サンスクリット語 |
sa-IN | 0x044F | サンスクリット語 - インド |
sr-SP-Cyrl | 0x0C1A | セルビア語 (キリル文字) - セルビア |
sr-SP-Latn | 0x081A | セルビア語 (ラテン文字) - セルビア |
sk | 0x001B | スロバキア語 |
sk-SK | 0x041B | スロバキア語 - スロバキア |
sl | 0x0024 | スロベニア語 |
sl-SI | 0x0424 | スロベニア語 - スロベニア |
es | 0x000A | スペイン語 |
es-AR | 0x2C0A | スペイン語 - アルゼンチン |
es-BO | 0x400A | スペイン語 - ボリビア |
es-CL | 0x340A | スペイン語 - チリ |
es-CO | 0x240A | スペイン語 - コロンビア |
es-CR | 0x140A | スペイン語 - コスタリカ |
es-DO | 0x1C0A | スペイン語 - ドミニカ共和国 |
es-EC | 0x300A | スペイン語 - エクアドル |
es-SV | 0x440A | スペイン語 - エルサルバドル |
es-GT | 0x100A | スペイン語 - グアテマラ |
es-HN | 0x480A | スペイン語 - ホンジュラス |
es-MX | 0x080A | スペイン語 - メキシコ |
es-NI | 0x4C0A | スペイン語 - ニカラグア |
es-PA | 0x180A | スペイン語 - パナマ |
es-PY | 0x3C0A | スペイン語 - パラグアイ |
es-PE | 0x280A | スペイン語 - ペルー |
es-PR | 0x500A | スペイン語 - プエルトリコ |
es-ES | 0x0C0A | スペイン語 - スペイン |
es-UY | 0x380A | スペイン語 - ウルグアイ |
es-VE | 0x200A | スペイン語 - ベネズエラ |
sw | 0x0041 | スワヒリ語 |
sw-KE | 0x0441 | スワヒリ語 - ケニア |
sv | 0x001D | スウェーデン語 |
sv-FI | 0x081D | スウェーデン語 - フィンランド |
sv-SE | 0x041D | スウェーデン語 - スウェーデン |
syr | 0x005A | シリア語 |
syr-SY | 0x045A | シリア語 - シリア |
ta | 0x0049 | タミル語 |
ta-IN | 0x0449 | タミル語 - インド |
tt | 0x0044 | タタール語 |
tt-RU | 0x0444 | タタール語 - ロシア |
te | 0x004A | テルグ語 |
te-IN | 0x044A | テルグ語 - インド |
th | 0x001E | タイ語 |
th-TH | 0x041E | タイ語 - タイ |
tr | 0x001F | トルコ語 |
tr-TR | 0x041F | トルコ語 - トルコ |
uk | 0x0022 | ウクライナ語 |
uk-UA | 0x0422 | ウクライナ語 - ウクライナ |
ur | 0x0020 | ウルドゥー語 |
ur-PK | 0x0420 | ウルドゥー語 - パキスタン |
uz | 0x0043 | ウズベク語 |
uz-UZ-Cyrl | 0x0843 | ウズベク語 (キリル文字) - ウズベキスタン |
uz-UZ-Latn | 0x0443 | ウズベク語 (ラテン文字) - ウズベキスタン |
vi | 0x002A | ベトナム語 |
vi-VN | 0x042A | ベトナム語 - ベトナム |
"スペイン語 - スペイン" のカルチャ識別子 "0x0c0a" は既定の国際並べ替え順序を使用し、同じく "スペイン語 - スペイン" のカルチャ識別子である "0x040A" は従来の並べ替え順序を使用します。カルチャ名 "es-ES" を使用して CultureInfo を構築した場合、新しい CultureInfo は既定の国際並べ替え順序を使用します。従来の並べ替え順序を使用する CultureInfo を構築するには、コンストラクタでカルチャ識別子 "0x040A" を使用します。代替並べ替え順序を持つその他のカルチャの詳細については、 固有カルチャのデータの比較と並べ替え を参照してください。
カルチャは、通常、インバリアント カルチャ、ニュートラル カルチャ、および特定カルチャの 3 つのセットにグループ化されます。
インバリアント カルチャは、カルチャ固有の設定ではありません。空の文字列 ("") を使用した名前で、またはカルチャ識別子 0x007F を使用することによって、インバリアント カルチャを指定できます。 InvariantCulture は、インバリアント カルチャのインスタンスを取得します。この設定は、英語と関連付けられていますが、国や地域には関連付けられていません。これは、カルチャを必要とする Globalization 名前空間のほとんどのメソッドで使用できます。セキュリティの決定が文字列の比較や大文字/小文字の変換操作に依存する場合は、システムのカルチャ設定にかかわらず一定の動作を保証するために InvariantCulture を使用してください。ただし、インバリアント カルチャは、システム サービスなど、カルチャに依存しない結果を必要とするプロセスでだけ使用する必要があります。それ以外の場合に使用すると、言語として正しくない、またはカルチャに対して不適切な結果が生じます。
ニュートラル カルチャは、国や地域ではなく、言語に関連付けられているカルチャです。特定のカルチャは、1 つの言語、および 1 つの国または地域に関連付けられたカルチャです。たとえば、"fr" はニュートラル カルチャであり、"fr-FR" は特定のカルチャです。"zh-CHS" (簡体字中国語) および "zh-CHT" (繁体字中国語) はニュートラル カルチャです。
カルチャは階層構造になっています。たとえば、特定のカルチャの親はニュートラル カルチャで、ニュートラル カルチャの親は InvariantCulture となっています。 Parent プロパティは、特定のカルチャに関連付けられているニュートラル カルチャを返します。
システム内で特定のカルチャのリソースが利用できない場合は、ニュートラル カルチャのリソースが使用されます。ニュートラル カルチャのリソースが利用できない場合は、メイン アセンブリに埋め込まれているリソースが使用されます。リソース フォールバック処理の詳細については、 リソースのパッケージ化と配置 を参照してください。
Windows API のカルチャの一覧は、.NET Framework のカルチャの一覧と若干異なります。たとえば、カルチャ識別子 0x7C04 のニュートラル カルチャ zh-CHT "繁体字中国語" は Windows API では利用できません。Windows との相互運用 (たとえば、p/invoke 機構を通じた相互運用) が必要な場合は、.NET Framework で定義されている特定のカルチャを使用してください。これにより、同一の LCID で識別される等価な Windows ロケールとの一貫性が確保されます。
ニュートラル カルチャを除くインバリアント カルチャまたは特定のカルチャに対してだけ、 DateTimeFormatInfo または NumberFormatInfo を作成できます。
ユーザーは、[コントロール パネル] の [地域と言語のオプション] (オペレーティング システムによっては [地域のオプション] または [地域]) を使用して、Windows の現在のカルチャに関連付けられた値の一部をオーバーライドすることもできます。たとえば、ユーザーが別の形式で日付を表示したり、カルチャの既定の通貨以外の通貨を使用したりすることを選択する場合があります。
UseUserOverride が true であり、指定されたカルチャが Windows の現在のカルチャと一致する場合、 CultureInfo はこれらのオーバーライドを使用します。これには、 DateTimeFormat プロパティによって返される DateTimeFormatInfo インスタンスのプロパティ、 NumberFormat プロパティによって返される NumberFormatInfo インスタンスのプロパティ、および CompareInfo プロパティによって返される CompareInfo インスタンスのプロパティのユーザー設定値が含まれます。ユーザー設定が CultureInfo に関連付けられたカルチャと互換性を持たない場合 (たとえば、選択した暦が OptionalCalendars のいずれでもない場合)、メソッドの結果とプロパティの値は未定義になります。
ユーロを使用するカルチャでは、.NET Framework および Windows XP では既定の通貨がユーロに設定されますが、以前のバージョンの Windows ではこの設定は行われません。したがって、以前のバージョンの Windows で [コントロール パネル] の [地域のオプション] または [地域] を使用して通貨の設定を変更していない場合は、通貨が正しく表示されない場合があります。通貨に対する .NET Framework の既定値を使用するには、 useUserOverride パラメータを受け入れる CultureInfo コンストラクタ オーバーロードを使用して、そのパラメータを false に設定します。
このクラスは、 CultureInfo オブジェクトを複製できるようにする ICloneable インターフェイスを実装します。アプリケーションに書式設定情報を提供する IFormatProvider も実装します。
使用例
[Visual Basic, C#, C++] "スペイン語 - スペイン" の国際並べ替え順序用の CultureInfo と、従来の並べ替え順序用のもう 1 つの CultureInfo を作成するコードの例を次に示します。
Imports System
Imports System.Collections
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Creates and initializes the CultureInfo which uses the international sort.
Dim myCIintl As New CultureInfo("es-ES", False)
' Creates and initializes the CultureInfo which uses the traditional sort.
Dim myCItrad As New CultureInfo(&H40A, False)
' Displays the properties of each culture.
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL")
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName)
Console.WriteLine()
' Compare two strings using myCIintl.
Console.WriteLine("Comparing ""llegar"" and ""lugar""")
Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare("llegar", "lugar"))
Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare("llegar", "lugar"))
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output.
'
'PROPERTY INTERNATIONAL TRADITIONAL
'CompareInfo CompareInfo - 3082 CompareInfo - 1034
'DisplayName Spanish (Spain) Spanish (Spain)
'EnglishName Spanish (Spain) Spanish (Spain)
'IsNeutralCulture False False
'IsReadOnly False False
'LCID 3082 1034
'Name es-ES es-ES
'NativeName espaol (Espaa) espaol (Espaa)
'Parent es es
'TextInfo TextInfo - 3082 TextInfo - 1034
'ThreeLetterISOLanguageName spa spa
'ThreeLetterWindowsLanguageName ESN ESN
'TwoLetterISOLanguageName es es
'
'Comparing "llegar" and "lugar"
' With myCIintl.CompareInfo.Compare: -1
' With myCItrad.CompareInfo.Compare: 1
[C#]
using System;
using System.Collections;
using System.Globalization;
public class SamplesCultureInfo {
public static void Main() {
// Creates and initializes the CultureInfo which uses the international sort.
CultureInfo myCIintl = new CultureInfo( "es-ES", false );
// Creates and initializes the CultureInfo which uses the traditional sort.
CultureInfo myCItrad = new CultureInfo( 0x040A, false );
// Displays the properties of each culture.
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName );
Console.WriteLine();
// Compare two strings using myCIintl.
Console.WriteLine( "Comparing \"llegar\" and \"lugar\"" );
Console.WriteLine( " With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare( "llegar", "lugar" ) );
Console.WriteLine( " With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare( "llegar", "lugar" ) );
}
}
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName espaol (Espaa) espaol (Espaa)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl.CompareInfo.Compare: -1
With myCItrad.CompareInfo.Compare: 1
*/
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Globalization;
int main()
{
// Creates and initializes the CultureInfo which uses the international sort.
CultureInfo* myCIintl = new CultureInfo(S"es-ES", false);
// Creates and initializes the CultureInfo which uses the traditional sort.
CultureInfo* myCItrad = new CultureInfo(0x040A, false);
// Displays the properties of each culture.
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"PROPERTY", S"INTERNATIONAL", S"TRADITIONAL");
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"CompareInfo", myCIintl -> CompareInfo, myCItrad -> CompareInfo);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"DisplayName", myCIintl -> DisplayName, myCItrad -> DisplayName);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"EnglishName", myCIintl -> EnglishName, myCItrad -> EnglishName);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"IsNeutralCulture", __box(myCIintl -> IsNeutralCulture), __box(myCItrad -> IsNeutralCulture));
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"IsReadOnly", __box(myCIintl -> IsReadOnly), __box(myCItrad -> IsReadOnly));
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"LCID", __box(myCIintl -> LCID), __box(myCItrad -> LCID));
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"Name", myCIintl -> Name, myCItrad -> Name);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"NativeName", myCIintl -> NativeName, myCItrad -> NativeName);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"Parent", myCIintl -> Parent, myCItrad -> Parent);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"TextInfo", myCIintl -> TextInfo, myCItrad -> TextInfo);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"ThreeLetterISOLanguageName", myCIintl -> ThreeLetterISOLanguageName, myCItrad -> ThreeLetterISOLanguageName);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"ThreeLetterWindowsLanguageName", myCIintl -> ThreeLetterWindowsLanguageName, myCItrad -> ThreeLetterWindowsLanguageName);
Console::WriteLine(S"{0,-33}{1,-25}{2,-25}", S"TwoLetterISOLanguageName", myCIintl -> TwoLetterISOLanguageName, myCItrad -> TwoLetterISOLanguageName);
Console::WriteLine();
// Compare two strings using myCIintl ->
Console::WriteLine(S"Comparing \"llegar\" and \"lugar\"");
Console::WriteLine(S" With myCIintl -> CompareInfo -> Compare: {0}", __box(myCIintl -> CompareInfo -> Compare(S"llegar", S"lugar")));
Console::WriteLine(S" With myCItrad -> CompareInfo -> Compare: {0}", __box(myCItrad -> CompareInfo -> Compare(S"llegar", S"lugar")));
}
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName espaol (Espaa) espaol (Espaa)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl -> CompareInfo -> Compare: -1
With myCItrad -> CompareInfo -> Compare: 1
*/
[Visual Basic, C#, C++] 中国語を使用する特定の各カルチャの親カルチャを決定するコードの例を次に示します。
Imports System
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Prints the header.
Console.WriteLine("SPECIFIC CULTURE PARENT CULTURE")
' Determines the specific cultures that use the Chinese language, and displays the parent culture.
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
If ci.TwoLetterISOLanguageName = "zh" Then
Console.Write("0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName)
Console.WriteLine("0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName)
End If
Next ci
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output.
'
'SPECIFIC CULTURE PARENT CULTURE
'0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
'0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
'0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
'0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
'0x1404 zh-MO Chinese (Macau S.A.R.) 0x0004 zh-CHS Chinese (Simplified)
[C#]
using System;
using System.Globalization;
public class SamplesCultureInfo {
public static void Main() {
// Prints the header.
Console.WriteLine( "SPECIFIC CULTURE PARENT CULTURE" );
// Determines the specific cultures that use the Chinese language, and displays the parent culture.
foreach ( CultureInfo ci in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) {
if ( ci.TwoLetterISOLanguageName == "zh" ) {
Console.Write( "0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName );
Console.WriteLine( "0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName );
}
}
}
}
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x0004 zh-CHS Chinese (Simplified)
*/
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
int main() {
// Prints the header.
Console::WriteLine(S"SPECIFIC CULTURE PARENT CULTURE" );
// Determines the specific cultures that use the Chinese language,
// and displays the parent culture.
System::Collections::IEnumerator* en =
CultureInfo::GetCultures(CultureTypes::SpecificCultures)->GetEnumerator();
while (en->MoveNext())
{
CultureInfo* ci = __try_cast<CultureInfo*>(en->Current);
if (ci->TwoLetterISOLanguageName->Equals(S"zh"))
{
Console::Write(S"0x{0} {1} {2,-37}", ci->LCID.ToString("X4"),
ci->Name, ci->EnglishName);
Console::WriteLine(S"0x{0} {1} {2}", ci->Parent->LCID.ToString(S"X4"),
ci->Parent->Name, ci->Parent->EnglishName);
}
}
}
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x0004 zh-CHS Chinese (Simplified)
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Globalization
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: Mscorlib (Mscorlib.dll 内)