このドキュメントはアーカイブされており、メンテナンスされていません。

CultureInfo クラス

カルチャの名前、書記体系、使用される暦、日付の書式設定と文字列の並べ替え方法など、特定のカルチャに関する情報を提供します。

名前空間: System.Globalization
アセンブリ: mscorlib (mscorlib.dll 内)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class CultureInfo : ICloneable, IFormatProvider
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class CultureInfo implements ICloneable, IFormatProvider
SerializableAttribute 
ComVisibleAttribute(true) 
public class CultureInfo implements ICloneable, IFormatProvider

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" はラテン文字を示します。

次に示す定義済みのカルチャ名と識別子は、このクラスを含め、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-KG

0x0440

キルギス語 - キルギス

lv

0x0026

ラトビア語

lv-LV

0x0426

ラトビア語 - ラトビア

lt

0x0027

リトアニア語

lt-LT

0x0427

リトアニア語 - リトアニア

mk

0x002F

マケドニア語

mk-MK

0x042F

マケドニア語 - 旧ユーゴスラビアのマケドニア共和国

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

ベトナム語 - ベトナム

インバリアント カルチャ、ニュートラル カルチャ、および特定カルチャ

カルチャは、通常、インバリアント カルチャ、ニュートラル カルチャ、および特定カルチャの 3 つのセットにグループ化されます。

インバリアント カルチャは、カルチャ固有の設定ではありません。空の文字列 ("") を使用した名前で、またはカルチャ識別子 0x007F を使用することによって、インバリアント カルチャを指定できます。InvariantCulture は、インバリアント カルチャのインスタンスを取得します。この設定は、英語と関連付けられていますが、国や地域には関連付けられていません。これは、カルチャを必要とする Globalization 名前空間のほとんどのメソッドで使用できます。

ニュートラル カルチャは、国や地域ではなく、言語に関連付けられているカルチャです。特定のカルチャは、1 つの言語、および 1 つの国または地域に関連付けられたカルチャです。たとえば、"fr" はニュートラル カルチャであり、"fr-FR" は特定のカルチャです。"zh-CHS" (簡体字中国語) および "zh-CHT" (繁体字中国語) はニュートラル カルチャです。

ニュートラル カルチャの CompareInfo クラスのインスタンスに格納されるデータは任意であるため、このインスタンスを作成することはお勧めしません。データの表示および並べ替えを行うには、言語と地域の両方を指定します。また、ニュートラル カルチャ用に作成された CompareInfo オブジェクトの Name プロパティが返すのは国だけであり、地域は含まれません。

カルチャは階層構造になっています。たとえば、特定のカルチャの親はニュートラル カルチャで、ニュートラル カルチャの親は InvariantCulture となっています。Parent プロパティは、特定のカルチャに関連付けられているニュートラル カルチャを返します。

システム内で特定のカルチャのリソースが利用できない場合は、ニュートラル カルチャのリソースが使用されます。ニュートラル カルチャのリソースが利用できない場合は、メイン アセンブリに埋め込まれているリソースが使用されます。リソース フォールバック プロセスの詳細については、「リソースのパッケージ化と配置」を参照してください。

Windows API のカルチャの一覧は、.NET Framework のカルチャの一覧と若干異なります。たとえば、カルチャ識別子 0x7C04 のニュートラル カルチャ zh-CHT "繁体字中国語" は Windows API では利用できません。Windows との相互運用 (たとえば、p/invoke 機構を通じた相互運用) が必要な場合は、オペレーティング システムで定義されている特定のカルチャを使用してください。これにより、同一の LCID で識別される等価な Windows ロケールとの一貫性が確保されます。

ニュートラル カルチャを除くインバリアント カルチャまたは特定のカルチャに対してだけ、DateTimeFormatInfo または NumberFormatInfo を作成できます。

DateTimeFormatInfo.CalendarTaiwanCalendar で、Thread.CurrentCulture が "zh-TW" でない場合、DateTimeFormatInfo.NativeCalendarNameDateTimeFormatInfo.GetEraName、および DateTimeFormatInfo.GetAbbreviatedEraName は空の文字列 ("") を返します。

Windows ロケール

.NET Framework Version 2.0 以降の CultureInfo コンストラクタでは、カルチャと同等に使用できる Windows ロケールを使用して、.NET Framework に存在しないカルチャを自動生成できます。詳細については、「Windows ロケールから生成されたカルチャ」を参照してください。

コントロール パネルのオーバーライド

ユーザーは、[コントロール パネル] の [地域と言語のオプション] (オペレーティング システムによっては [地域のオプション] または [地域]) を使用して、Windows の現在のカルチャに関連付けられた値の一部をオーバーライドすることもできます。たとえば、ユーザーが別の形式で日付を表示したり、カルチャの既定の通貨以外の通貨を使用したりすることを選択する場合があります。

UseUserOverridetrue であり、指定されたカルチャが Windows の現在のカルチャと一致する場合、CultureInfo はこれらのオーバーライド値を使用します。オーバーライド値には、DateTimeFormat プロパティによって返される DateTimeFormatInfo インスタンスのプロパティ、および NumberFormat プロパティによって返される NumberFormatInfo インスタンスのプロパティのユーザー設定値が含まれます。ユーザー設定と CultureInfo に関連付けられたカルチャとの間に互換性がない場合 (たとえば、選択されたカレンダーが OptionalCalendars のいずれかでない場合)、メソッドの結果およびプロパティの値は未定義です。

ユーロを使用するカルチャでは、.NET Framework および Windows XP では既定の通貨がユーロに設定されますが、以前のバージョンの Windows ではこの設定は行われません。したがって、以前のバージョンの Windows で [コントロール パネル] の [地域のオプション] または [地域] を使用して通貨の設定を変更していない場合は、通貨が正しく表示されない場合があります。通貨に対する .NET Framework の既定値を使用するには、useUserOverride パラメータを受け入れる CultureInfo コンストラクタ オーバーロードを使用して、そのパラメータを false に設定します。

代替並べ替え順序

"スペイン語 - スペイン" のカルチャ識別子 "0x0c0a" は既定の国際並べ替え順序を使用し、同じく "スペイン語 - スペイン" のカルチャ識別子である "0x040A" は従来の並べ替え順序を使用します。カルチャ名 "es-ES" を使用して CultureInfo を構築した場合、新しい CultureInfo は既定の国際並べ替え順序を使用します。従来の並べ替え順序を使用する CultureInfo を構築するには、コンストラクタでカルチャ識別子 "0x040A" を使用します。代替並べ替え順序を持つその他のカルチャの詳細については、「固有カルチャのデータの比較と並べ替え」を参照してください。

実装されているインターフェイス

このクラスは、CultureInfo オブジェクトを複製できるようにする ICloneable インターフェイスを実装します。アプリケーションに形式指定情報を提供するために、IFormatProvider も実装します。

カルチャ、スレッド、およびアプリケーション ドメイン

CultureInfo オブジェクトに関連付けられたスレッドを使用する場合に固有の考慮事項があります。カルチャおよびアプリケーション ドメインの詳細については、「アプリケーション ドメインとスレッド」を参照してください。

トピック場所
How to: Create Resource Files for ASP.NET Web SitesBuilding ASP .NET Web Applications
方法 : ASP.NET Web サイトに対してリソース ファイルを作成する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : ASP.NET Web ページのグローバリゼーション用のカルチャおよび UI カルチャを設定するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : プログラムでリソース値を取得するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サイトに対してリソース ファイルを作成する (Visual Studio)Visual Studio ASP .NET での Web アプリケーションの作成
方法 : グローバリゼーション用に HTML タグを使用して右から左の方向でテキストを表示するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web ページのグローバリゼーション用のカルチャおよび UI カルチャを設定するASP .NET Web アプリケーションの作成
方法 : プログラムでリソース値を取得するASP .NET Web アプリケーションの作成
方法 : ASP.NET Web サイトに対してリソース ファイルを作成するASP .NET Web アプリケーションの作成
方法 : グローバリゼーション用に HTML タグを使用して右から左の方向でテキストを表示するASP .NET Web アプリケーションの作成
方法 : ASP.NET Web ページのグローバリゼーション用のカルチャおよび UI カルチャを設定するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : プログラムでリソース値を取得するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : グローバリゼーション用に HTML タグを使用して右から左の方向でテキストを表示するVisual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サイトに対してリソース ファイルを作成する (Visual Studio)Visual Studio ASP .NET での Web アプリケーションの作成

"スペイン語 - スペイン" の国際並べ替え順序用の CultureInfo と、従来の並べ替え順序用のもう 1 つの CultureInfo を作成するコードの例を次に示します。

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                       español (España)         español (España)
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

*/

import System.* ;
import System.Collections.* ;
import System.Globalization.* ;

public class SamplesCultureInfo
{  
     public static void main(String[] args)
    {
        // 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(0x40A, 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.get_CompareInfo(), myCItrad.get_CompareInfo());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName", 
            myCIintl.get_DisplayName(), myCItrad.get_DisplayName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName", 
            myCIintl.get_EnglishName(), myCItrad.get_EnglishName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", 
            System.Convert.ToString(myCIintl.get_IsNeutralCulture()), 
            System.Convert.ToString(myCItrad.get_IsNeutralCulture()));
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly", 
            System.Convert.ToString(myCIintl.get_IsReadOnly()), 
            System.Convert.ToString(myCItrad.get_IsReadOnly()));
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID", 
            System.Convert.ToString(myCIintl.get_LCID()), 
            System.Convert.ToString(myCItrad.get_LCID()));
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name", 
            myCIintl.get_Name(), myCItrad.get_Name());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName", 
            myCIintl.get_NativeName(), myCItrad.get_NativeName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent", 
            myCIintl.get_Parent(), myCItrad.get_Parent());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo",
            myCIintl.get_TextInfo(), myCItrad.get_TextInfo());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", 
            "ThreeLetterISOLanguageName", 
            myCIintl.get_ThreeLetterISOLanguageName(), 
            myCItrad.get_ThreeLetterISOLanguageName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", 
            "ThreeLetterWindowsLanguageName", 
            myCIintl.get_ThreeLetterWindowsLanguageName(),
            myCItrad.get_ThreeLetterWindowsLanguageName());
        Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName",
            myCIintl.get_TwoLetterISOLanguageName(), 
            myCItrad.get_TwoLetterISOLanguageName());
        Console.WriteLine();

        // Compare two strings using myCIintl.
        Console.WriteLine("Comparing \"llegar\" and \"lugar\"");
        Console.WriteLine("   With myCIintl.CompareInfo.Compare: {0}",
            System.Convert.ToString ( myCIintl.get_CompareInfo().Compare(
            "llegar", "lugar")));
        Console.WriteLine("   With myCItrad.CompareInfo.Compare: {0}", 
            System.Convert.ToString ( myCItrad.get_CompareInfo().Compare(
            "llegar", "lugar")));
    } //main 
} //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
*/

中国語を使用する特定の各カルチャの親カルチャを決定するコードの例を次に示します。

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.)               0x7C04 zh-CHT Chinese (Traditional)

*/

import System.* ;
import System.Globalization.* ;

public class SamplesCultureInfo
{
    public static void main(String[] args)
    {
        // Prints the header.
        Console.WriteLine("SPECIFIC CULTURE                                " 
            + "  PARENT CULTURE");

        // Determines the specific cultures that use the Chinese language, 
        // and displays the parent culture.
        for(int iCtr=0;
            iCtr < (CultureInfo.GetCultures(CultureTypes.SpecificCultures).
                length); iCtr++) {
            CultureInfo ci = 
                CultureInfo.GetCultures(CultureTypes.SpecificCultures)[iCtr];
            if (ci.get_TwoLetterISOLanguageName().equalsIgnoreCase("zh")) {
                Console.Write("0x{0} {1} {2,-37}", 
                    ((System.Int32 ) ci.get_LCID()).ToString("X4") , 
                    ci.get_Name(), ci.get_EnglishName());
                Console.WriteLine("0x{0} {1} {2}", 
                    ((System.Int32 )ci.get_Parent().get_LCID()).ToString("X4"),
                    ci.get_Parent().get_Name(), 
                    ci.get_Parent().get_EnglishName());
            }
        }
    } //main
} //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)
*/

System.Object
  System.Globalization.CultureInfo

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 2.0、1.0
表示: