【问题标题】:c# : Get country name from country codec# : 从国家代码中获取国家名称
【发布时间】:2016-04-24 09:30:43
【问题描述】:

我正在尝试使用 c# 从国家代码中获取国家名称

例如:

  • fr-fr 带我去法国
  • it-it让我意大利

我的代码的问题是我没有得到名字,而是这样的信息:

French (France)

这是我的代码:

var cultureInfo = new CultureInfo("fr-fr");
var result : cultureInfo.EnglishName

我的结果是"French (France)",而不是法国。

我已经设法通过使用文化信息的父属性得到我想要的,但我不确定这是否是一个好方法。

【问题讨论】:

  • fr-fr 和 it-it 不是国家代码

标签: c# cultureinfo


【解决方案1】:

因为CultureInfo.EnglishName仍然返回文化名称。

您可以基于这种文化创建一个RegionInfo 并调用它的 EnglishName 属性。

var cultureInfo = new CultureInfo("fr-fr");
var ri = new RegionInfo(cultureInfo.Name);
ri.EnglishName // France

或

var cultureInfo = new CultureInfo("it-it");
var ri = new RegionInfo(cultureInfo.Name);
ri.EnglishName // Italy

【讨论】:

  • 我有“US”...如何从中获取国家/地区名称..?它不是“us-usa”格式
  • US 本身不指的是.net框架上的任何文化或地区。例如,您必须有一个像 en-US 这样的字符串。然后你可能想使用TwoLetterISORegionName,它返回US和ThreeLetterISORegionName,在你基于那个cutlure创建RegionInfo实例之后返回USA。无论如何获取字符串,您都必须进行一些字符串操作。
【解决方案2】:

您可以通过这种方式获取国家/地区名称

RegionInfo cultureInfo = new RegionInfo("fr-fr");
string result = cultureInfo.EnglishName;

【讨论】:

    【解决方案3】:

    试试

    var cultureInfoName = new RegionInfo(cultureInfo.Name);
    string countryName = cultureInfoName.DisplayName;
    

    【讨论】:

      猜你喜欢
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      相关资源
      最近更新 更多