gpt4 book ai didi

c# - CultureInfo.Name 属性

转载 作者:行者123 更新时间:2023-11-30 15:17:35 27 4
gpt4 key购买 nike

MSDN 读取

CultureInfo.Name Property
Gets the culture name in the format languagecode2-country/regioncode2.

然后是例子:

 Console.Write("{0,-7}", ci.Name);
[...]

/*
This code produces the following output. This output has been cropped for brevity.

CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
ar [...]
bg [...]
ca [...]
zh-Hans [...]
cs [...]
da da [...]
de de [...]
el el [...]
en en eng ENU English English
es es spa ESP Spanish Spanish
fi fi [...]
zh zh [...]
zh-Hant zh [...]
zh-CHS zh [...]
zh-CHT zh [...]

*/

谁能解释两个字母languagecode2-country/regioncode2格式,以及如何从文化信息 ?

比如说,我有以下代码:

var culture = Context.Features.Get<IRequestCultureFeature>().RequestCulture.UICulture;
string lang2 = culture.TwoLetterISOLanguageName.ToLower();
string lang4 = culture.Name.ToLower();

最后lang2 == lang4,有没有办法得到“正确”的lang4

不仅如此,CultureInfo 不会检查无效的文化名称,两个字母的任意组合都可以工作 (fiddle here):

using System;
using System.Globalization;

public class Program {
public static void Main() {

Console.Write(new CultureInfo("xx").Name); // "xx"
Console.Write(new CultureInfo("xx-YY").Name); // "xx-YY"
}
}

最佳答案

MSDN 提供的示例仅返回 languagecode2,因为它遍历 CultureInfo.GetCultures(CultureTypes.NeutralCultures)。顾名思义,被迭代的CultureInfo中性的,所以它们的名字只是由两个字母的小写语言代码组成。

更一般地说,CultureInfo 提供有关特定文化的信息。当它不是中性的时候。

如果您的代码返回 en,那么它仅表示传递给它的是中性文化。如果/当您传递特定文化(例如:en-US)时,名称将相应匹配。


可以从 CultureInfo 的备注部分收集更多信息 MSDN page :

中性文化仅由两个字母的小写语言代码指定。例如,fr 指定法语的中性文化,de 指定德语的中性文化。

关于c# - CultureInfo.Name 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963644/

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