文化后备

时间:2010-02-09 14:56:45

标签: c# .net globalization cultureinfo

我假设以下代码是正确的,

CultureInfo culture = CultureInfo.GetCulture(“en-US”); Assert.IsTrue(culture.GetConsoleFallbackUICulture()。Name ==“en”);

但不是,culture.GetConsoleFallbackUICulture()。名称仍然是“en-US”,我想知道什么是获得后备文化的API。

由于 杰夫

2 个答案:

答案 0 :(得分:3)

这是正确的,en-US不需要回退,这就是它返回en-US的原因。

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

编辑:如果您想要做评论中的内容,请使用CultureInfo.Parent属性。

答案 1 :(得分:1)

CultureInfo culture = CultureInfo.GetCulture("en-US");
Assert.IsFalse(culture.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