これを .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がすべて赤くなりますが、次のようになります。