2010-02-09 83 views
1

我认为以下代码是正确的,culture fallback

CultureInfo culture = CultureInfo.GetCulture(“en-US”); Assert.IsTrue(culture.GetConsoleFallbackUICulture()==名称 “EN”);

但它不是,culture.GetConsoleFallbackUICulture()。名称仍是“EN-US”,我想知道是什么让回退区域性的API。

感谢 杰夫

+1

我认为下面的代码是净?请正确标记。 – 2010-02-09 15:01:05

回答

3

这是正确的,EN-US不需要回退,这就是为什么它返回EN-US。

在此列表中只有文化受到影响:http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.getconsolefallbackuiculture.aspx

编辑:如果你想要做什么在你的评论,请使用CultureInfo.Parent属性。

+0

谢谢,但我想模仿.NET区域性后备的行为,我想cutlure“EN-US”的母公司cutlure,我认为它是‘恩’和‘EN’的母公司是Cutlure.InvariantCulture,我如何实现这一目标? – Jeff 2010-02-09 15:04:55

+0

请编辑您的原始问题...我更新了我的答案。 – 2010-02-09 15:08:33

1
CultureInfo culture = CultureInfo.GetCulture("en-US"); 
Assert.IsFalse(culture.Parent.IsNeutralCulture); // en-US is NOT Neutral 
Assert.IsTrue(culture.Parent.Name == "en"); // Our parent's culture is the neutral english culture 
Assert.IsTrue(culture.Parent.IsNeutralCulture); // en is Neutral 
Assert.IsTrue(culture.Parent.Parent.Name == ""); // Our grandparent's culture is the invariant culture