Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获得国家形容词?_C#_Asp.net - Fatal编程技术网

C# 如何获得国家形容词?

C# 如何获得国家形容词?,c#,asp.net,C#,Asp.net,我需要将国家代码转换为它的形容词等价物。我目前正在使用RegionInfo,它将为我提供国家名称 RegionInfo ri = new RegionInfo(languages[0]); subtitle = ri.NativeName; 如果国家代码是“恩”,这将给我英国,但我想要的是“英语” 那么,我怎样才能得到乡村形容词呢 谢谢不要使用RegionInfo,最好尝试使用CultureInfo 在那里,您可以按如下方式进行尝试: CultureInfo c = new CultureIn

我需要将国家代码转换为它的形容词等价物。我目前正在使用RegionInfo,它将为我提供国家名称

RegionInfo ri = new RegionInfo(languages[0]);
subtitle = ri.NativeName;
如果国家代码是“恩”,这将给我英国,但我想要的是“英语”

那么,我怎样才能得到乡村形容词呢


谢谢

不要使用
RegionInfo
,最好尝试使用
CultureInfo

在那里,您可以按如下方式进行尝试:

CultureInfo c = new CultureInfo(languages[0]);
subtitle = c.DisplayName;

标准.NETAPI中没有包含公民命名形容词信息的类

但是,您可以使用
CultureInfo
类将国家代码转换为口语列表-从该列表中选择任意元素通常会给出正确答案(但不总是,如“中文(简体)”)

例如:

var cultureInfos = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.Name.EndsWith("CH"));
var cultureInfo = cultureInfos.SingleOrDefault();
string language = cultureInfo.EnglishName;
但是,恐怕对所有文化都有效的唯一选择是创建自己的映射

Dictionary<string, string> adjectiveMap = new Dictionary<string, string>();
adjectiveMap.Add("en", "English");
adjectiveMap.Add("cn", "Chinese");
// etc. etc...
Dictionary形容词map=newdictionary();
形容词映射。添加(“en”、“English”);
添加(“cn”、“中文”);
//等等等等。。。

如果你准备承担这项任务,请查看此wiki页面

在每件事的结尾加上“ish”。)@EdPitt,但它将是
英国语
<代码>:)@SonerGönül英语、美洲语、土耳其语。人们理解。你确定每个国家都有一个单一的适用形式吗(即使假设该国只说一种语言)?
EnglishName
是一种属性而不是一种方法:()哦,是的。哎呀。固定的。