【问题标题】:Different English name of Czechia on my local machine vs on Azure我的本地机器上与 Azure 上的捷克语不同的英文名称
【发布时间】:2019-04-24 12:08:26
【问题描述】:

我正在尝试通过国家/地区名称获取 RegionInfo 对象。我想出了这段代码:

 var regions = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(x => new RegionInfo(x.LCID));
 var regionInfo = regions.FirstOrDefault(region => region.EnglishName.Contains(englishCountryName));

它在我的机器上运行良好。但是当我在 Azure App Service 上部署它时,它会为捷克返回 null

所以我测试了它:

//My machine
new RegionInfo(1029).EnglishName //returns Czechia
//Azure
new RegionInfo(1029).EnglishName //returns Czech Republic

事实证明,捷克共和国在 2016 年更名,为什么 Azure 显示“旧”名称? 如何使这个解决方案与文化无关?

【问题讨论】:

    标签: c# .net azure cultureinfo regioninfo


    【解决方案1】:

    随着国家/地区名称可能发生变化,您最好使用其中一个 ISO 代码。

    如果您无法根据输入使用 ISO 代码,您可以使用 ISO3166 NuGet 包之类的东西来控制将英语语言输入映射到 ISO 代码。我看到当前的版本似乎也不是最新的,但是如果你实现它,至少你会得到一个一致的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2022-06-20
      相关资源
      最近更新 更多