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 クラスは、関連付けられた言語、サブ言語、国/地域、暦、文化的な慣習など、カルチャ固有の情報を保持します。このクラスは、 DateTimeFormatInfoNumberFormatInfoCompareInfo 、および 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 の現在のカルチャに関連付けられた値の一部をオーバーライドすることもできます。たとえば、ユーザーが別の形式で日付を表示したり、カルチャの既定の通貨以外の通貨を使用したりすることを選択する場合があります。

UseUserOverridetrue であり、指定されたカルチャが 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 内)

参照

CultureInfo メンバ | System.Globalization 名前空間 | RegionInfo