我在.Net 4.0和.Net 4.0 CP上测试了这个,结果相同。
这一行:
global::System.Globalization.CultureInfo.GetCultureInfo("en-us").Region
如果我在Visual Studio(C#)中键入它,则Visual Studio会告诉我“Region”无效。 如果我在断点期间在立即窗口中键入相同的行,则它完全有效并按预期返回数据。从我所看到的“地区”不在MSDN documentation。
由于某种原因,显然有两个不同的对象 为什么?这里发生了什么事?为什么现实不一致?我很害怕! (更严重的是,我看到我不理解的行为,所以我想理解它。)
立即窗口返回:
global::System.Globalization.CultureInfo.GetCultureInfo("en-us").Region {US} CurrencyEnglishName: "US Dollar" CurrencyNativeName: "US Dollar" CurrencySymbol: "$" DisplayName: "United States" EnglishName: "United States" GeoId: 244 IsMetric: false ISOCurrencySymbol: "USD" Name: "US" NativeName: "United States" ThreeLetterISORegionName: "USA" ThreeLetterWindowsRegionName: "USA" TwoLetterISORegionName: "US"
虽然Visual Studio对我很不满意:
答案 0 :(得分:3)
Region是CultureInfo类的非公共属性。似乎即时窗口可以访问它。
答案 1 :(得分:0)
目前的RegionInfo可以使用
RegionInfo.CurrentRegion