【发布时间】:2020-06-11 20:01:57
【问题描述】:
最好的解决方法是什么?
我试过了:
using System;
using System.Globalization;
using System.Linq;
using System.Collections.Generic;
class HelloWorld {
static void Main() {
List<CultureInfo> CultureInfos = CultureInfo
.GetCultures(CultureTypes.SpecificCultures)
.ToList();
var a = CultureInfos.Where(x => x.DisplayName.Contains("Israel"))
.FirstOrDefault();
Console.WriteLine(a?.DisplayName.Split(' ')[0]);
}
}
有趣的是,它适用于 onlinegdb.com,但不适用于我的本地机器 .Net core 3.1。它在“a”中返回 Null 试图找到他们的 .Net 版本的任何线索 - 没有成功
你知道为什么吗? / 我做错了什么?
谢谢
【问题讨论】:
-
请改用
ThreeLetterISOName或TwoLetterISOName。任何其他名称选择都会比DisplayName更好。 -
我没有这个国家的名字……它只是为了举例。我只从 API 获得国家名称,需要填写我自己的语言@RobertHarvey
-
DisplayName本身已本地化,具体取决于环境。所以在它上面做一个Contains可能是问题的一部分。
标签: c# .net-core globalization