【问题标题】:How to get the country code using country name如何使用国家名称获取国家代码
【发布时间】:2018-03-29 02:23:17
【问题描述】:

我希望能够使用国家名称获取国家代码。截至目前,我正在这样做:

var regions = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
                         .Select(x => new RegionInfo(x.LCID));

var selectedRegion = regions.FirstOrDefault(region => 
                                                region.EnglishName.Contains(countryName));

在我的例子中,CountryName 是“坦桑尼亚”。即使在该地区存在,它也没有给出国家代码。它总是返回 null。

您能否建议/启发我如何完成这项工作。

【问题讨论】:

  • 你确定它存在吗?谷歌搜索后,似乎 C# 的文化列表不包括坦桑尼亚。

标签: c# .net cultureinfo


【解决方案1】:

CultureInfo 类型有一个 EnglishName 属性,其中包含英语(坦桑尼亚),但据我所知不是该地区。

var cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
var tanzaniaCulture = cultures.FirstOrDefault(i => i.EnglishName == "English (Tanzania)");

【讨论】:

  • 将方法名称更改为 GetCultures。 :P
  • @Dan D 非常感谢您提供的信息。这适用于所有国家/地区吗?
  • 如果我的国家名称像“Niederlande”这样的德语我猜,建议的代码会失败。此类情况如何处理?
  • @GaurangDave 感谢您的反馈,我已经更新了答案。我相信你必须安装一个语言包并将你的文化设置为德语才能处理“Niederlande”
  • @DanD 安装相应语言包后,如果我需要将“English”替换为相应的语言名称,“English (Country)”会起作用吗?
猜你喜欢
  • 1970-01-01
  • 2017-01-05
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2020-09-13
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多