これを .Net 4.0 と .Net 4.0 CP の両方でテストしましたが、同じ結果でした。
この行:
global::System.Globalization.CultureInfo.GetCultureInfo("en-us").Region
Visual Studio (C#) で入力すると、Visual Studio は "Region" が無効であると通知します。ブレークポイント中にイミディエイト ウィンドウに同じ行を入力すると、完全に有効になり、期待どおりにデータが返されます。そして、私が見ることができる「地域」はMSDNのドキュメントにはありません。
何らかの理由で明らかに2つの異なるオブジェクト。
なんで?ここで何が起こっているのですか?なぜ現実は一貫していないのですか?怖い!
(もっと真剣に、私は理解していない行動を見ているので、それを理解したいと思います。)
イミディエイト ウィンドウは次を返します。
global::System.Globalization.CultureInfo.GetCultureInfo("en-us").Region
{私たち}
CurrencyEnglishName: "米ドル"
CurrencyNativeName: "米ドル"
通貨記号: "$"
表示名: 「アメリカ合衆国」
英語名:「アメリカ合衆国」
ジオID: 244
IsMetric: false
ISOCurrencySymbol: "USD"
名前:「米国」
NativeName: 「米国」
ThreeLetterISORegionName: "USA"
ThreeLetterWindowsRegionName: "USA"
TwoLetterISORegionName: "US"
Visual Studioがすべて赤くなりますが、次のようになります。
