2

経由でシステム ロケールを中国語 (簡体字) に設定しました。

ControlPanel >> Region and Language >> Administrative >> Change System locale

その後、コンピューターを再起動し、.NET 4.0 アプリケーションを実行しました。

ランニング

Thread.CurrentThread.CurrentCulture.Name

戻り値

en-GB

なんで?

4

2 に答える 2

2

MSDNはそれを言う

デフォルトのカルチャやフォーマット パターンなどの情報は、最初に要求されたときにキャッシュされます。この情報は、たとえば、ユーザーがコントロール パネルの地域と言語のオプション部分を変更した場合など、AppDomain の存続期間中に変更される可能性があります。ただし、CultureInfo クラスは、システム設定の変更を自動的に検出しません。

最初にこれを呼び出します

 Thread.CurrentThread.CurrentCulture.ClearCachedData();
于 2013-08-08T13:22:29.963 に答える
-1

システム ロケールが表示される場所は System.Text.Encoding.Default のようです

PS: 「...Change system locale」は、「非 Unicode」アプリケーション (Win32 API からの *A() 呼び出し) に使用される ANSI コードページに影響します。ほとんどの場合、.NET アプリケーションは Unicode 文字列と Unicode API を使用するため、これを気にする必要はありません。しかし、Unicode に対応していないアプリケーションとやり取りする必要があるため、現在のシステム ロケールを調べる必要があります。

于 2015-07-30T06:44:31.437 に答える