gpt4 book ai didi

c# - CultureInfo.CreateSpecificCulture() 和类的构造函数之间的区别?

转载 作者:IT王子 更新时间:2023-10-29 04:11:21 25 4
gpt4 key购买 nike

CultureInfo提供了两种创建方式:

两者的 MSDN 文档确实略有不同,针对构造函数提到了一些“Windows 文化”。但这真的重要吗?

我应该更喜欢两者之一吗?

注意:如果重要的话,我使用的是 .NET 3.5 版,我想像这样使用它:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

作为described in this answer.

最佳答案

当无法创建文化信息时,工厂方法有回退。

因此,如果您使用像“en-XX”这样的特定文化,则无法创建文化信息实例,将抛出异常并使用中性文化“en”重试将成功。

低于source工厂方法

public static CultureInfo CreateSpecificCulture(string name)
{
CultureInfo info;
try
{
info = new CultureInfo(name);
}
catch (ArgumentException)
{
info = null;
for (int i = 0; i < name.Length; i++)
{
if ('-' == name[i])
{
try
{
info = new CultureInfo(name.Substring(0, i));
break;
}
catch (ArgumentException)
{
throw;
}
}
}
if (info == null)
{
throw;
}
}
if (!info.IsNeutralCulture)
{
return info;
}
return new CultureInfo(info.m_cultureData.SSPECIFICCULTURE);
}

所以我更喜欢工厂方法。

关于c# - CultureInfo.CreateSpecificCulture() 和类的构造函数之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12193916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com