我在 .Net 4.0 和 .Net 4.0 CP 上对此进行了测试,结果相同。
这一行:
global::System.Globalization.CultureInfo.GetCultureInfo("en-us").Region
如果我在 Visual Studio (C#) 中键入它,那么 Visual Studio 会告诉我“区域”无效。如果我在断点期间在立即窗口中键入同一行,则它完全有效并按预期返回数据。从我可以看到“区域”不在MSDN 文档中。
由于某种原因,显然是两个不同的对象。
为什么?这里发生了什么事?为什么现实不一致?我害怕!
(更严重的是,我看到我不理解的行为,所以我想理解它。)
立即窗口返回:
global::System.Globalization.CultureInfo.GetCultureInfo("en-us").Region {我们} 货币英文名称:“US Dollar” CurrencyNativeName:“美元” 货币符号:“$” 显示名称:“美国” 英文名称:“美国” GeoId:244 IsMetric: 假 ISOCurrencySymbol:“美元” 名称:“美国” NativeName:“美国” 三字母ISORegionName:“美国” ThreeLetterWindowsRegionName:“美国” TwoLetterISORegionName:“美国”
当 Visual Studio 对我全红时: