类 CultureInfo
有两种创建方式:
- 使用一个工厂方法 CreateSpecificCulture(string)。
- 使用一个带字符串参数的构造函数
MSDN 对这两种方法的文档略有不同,对于构造函数提到了一些“Windows 文化”。但这真的要紧吗?
我应该更喜欢其中的某一个吗?
注意:如果有影响的话,我正在使用 .NET 版本 3.5,并且我想像这样使用它:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
CreateSpecificCulture("en")
返回 en-us,而new CultureInfo("en")
则似乎返回一个不变的英语。 - Dirk Boeren
)和__特定__文化(如en-US
或en-GB
或en-AU
)。检查属性IsNeutralCulture
以找出。请注意,在此答案的引用源代码中,我们在try
-catch
结构之后检查它是否是中性文化,如果是,则创建另一个具体的文化,从内部成员字段的internal
属性SSPECIFICCULTURE
中获取。请参见我在其他地方发布的帖子以获取示例。 - Jeppe Stig Nielsennew CultureInfo(culture)
。如果您想避免中性文化,请使用CultureInfo.CreateSpecificCulture(culture)
。 - Jeppe Stig Nielsen