CultureInfo.CurrentCulture プロパティ

現在のスレッドで使用するカルチャを表す CultureInfo を取得します。

Public Shared ReadOnly Property CurrentCulture As CultureInfo
[C#]
public static CultureInfo CurrentCulture {get;}
[C++]
public: __property static CultureInfo* get_CurrentCulture();
[JScript]
public static function get CurrentCulture() : CultureInfo;

プロパティ値

現在のスレッドで使用するカルチャを表す CultureInfo

解説

取得されるカルチャは、実行中のスレッドのプロパティです。この読み取り専用プロパティは、 Thread.CurrentCulture を返します。スレッドを開始すると、そのカルチャは、最初に Windows API から GetUserDefaultLCID を使用することによって確認されます。スレッドが使用するカルチャを変更するには、 Thread.CurrentCulture を新しいカルチャに設定します。 Thread.CurrentThread のカルチャを変更するには、 ControlThread フラグの設定された SecurityPermission が必要です。スレッドに関連付けられているセキュリティ状態が理由で、スレッド操作は危険です。このため、このアクセス許可は、信頼できるコードに必要な場合だけ与えてください。信頼度の低いコード内では、スレッドのカルチャは変更できません。

使用例

[Visual Basic, C#, C++] 現在のスレッドの CurrentCultureCurrentUICulture を変更する方法を次のコード例に示します。

 
Imports System
Imports System.Globalization
Imports System.Security.Permissions
Imports System.Threading

<assembly: SecurityPermission(SecurityAction.RequestMinimum, ControlThread := True)>
Public Class SamplesCultureInfo

   Public Shared Sub Main()

      ' Displays the name of the CurrentCulture of the current thread.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name)

      ' Changes the CurrentCulture of the current thread to th-TH.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("th-TH", False)
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name)

      ' Displays the name of the CurrentUICulture of the current thread.
      Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name)

      ' Changes the CurrentUICulture of the current thread to ja-JP.
      Thread.CurrentThread.CurrentUICulture = New CultureInfo("ja-JP", False)
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name)

   End Sub 'Main 

End Class 'SamplesCultureInfo


'This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).
'
'CurrentCulture is en-US.
'CurrentCulture is now th-TH.
'CurrentUICulture is en-US.
'CurrentUICulture is now ja-JP.


[C#] 
using System;
using System.Globalization;
using System.Security.Permissions;
using System.Threading;

[assembly:SecurityPermission( SecurityAction.RequestMinimum, ControlThread = true )]
public class SamplesCultureInfo  {

   public static void Main()  {

      // Displays the name of the CurrentCulture of the current thread.
      Console.WriteLine( "CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name );

      // Changes the CurrentCulture of the current thread to th-TH.
      Thread.CurrentThread.CurrentCulture = new CultureInfo( "th-TH", false );
      Console.WriteLine( "CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name );

      // Displays the name of the CurrentUICulture of the current thread.
      Console.WriteLine( "CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name );

      // Changes the CurrentUICulture of the current thread to ja-JP.
      Thread.CurrentThread.CurrentUICulture = new CultureInfo( "ja-JP", false );
      Console.WriteLine( "CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name );

   }

}

/*
This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).

CurrentCulture is en-US.
CurrentCulture is now th-TH.
CurrentUICulture is en-US.
CurrentUICulture is now ja-JP.

*/

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
using namespace System::Security::Permissions;
using namespace System::Threading;

[assembly:SecurityPermission( SecurityAction::RequestMinimum, ControlThread = true )];
int main()  {
   // Displays the name of the CurrentCulture of the current thread.
   Console::WriteLine( "CurrentCulture is {0}.", CultureInfo::CurrentCulture->Name );

   // Changes the CurrentCulture of the current thread to th-TH.
   Thread::CurrentThread->CurrentCulture = new CultureInfo( "th-TH", false );
   Console::WriteLine( "CurrentCulture is now {0}.", CultureInfo::CurrentCulture->Name );

   // Displays the name of the CurrentUICulture of the current thread.
   Console::WriteLine( "CurrentUICulture is {0}.", CultureInfo::CurrentCulture->Name );

   // Changes the CurrentUICulture of the current thread to ja-JP.
   Thread::CurrentThread->CurrentUICulture = new CultureInfo( "ja-JP", false );
   Console::WriteLine( "CurrentUICulture is now {0}.", CultureInfo::CurrentCulture->Name );
}

/*
This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).

CurrentCulture is en-US.
CurrentCulture is now th-TH.
CurrentUICulture is en-US.
CurrentUICulture is now ja-JP.

*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: 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

参照

CultureInfo クラス | CultureInfo メンバ | System.Globalization 名前空間 | ResourceManager | Thread.CurrentCulture | CurrentUICulture | InstalledUICulture | InvariantCulture | Parent | SecurityPermission | SecurityPermissionAttribute