c# - 我的本地机器上与 Azure 上的捷克语不同的英文名称
问题描述
我正在尝试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 显示“旧”名称?如何使这个解决方案与文化无关?
解决方案
随着国家/地区名称可能发生变化,您最好使用其中一个 ISO 代码。
如果您不能根据您的输入使用 ISO 代码,您可以使用 ISO3166 NuGet 包之类的东西来控制将英语语言输入映射到 ISO 代码。我看到当前版本似乎也不是最新的,但如果你实施它,至少你会得到一个一致的值。
推荐阅读
- powershell - 在自定义异常类中设置(半)默认消息
- html - 在悬停的 div 上沿光标移动文本
- javascript - 为什么要将 .scss 导入 .js?
- r - 在 R 版本 3.6.1 中加载 mailR 包时出现问题
- sql - 提取账户的交易,与该交易对手没有其他交易
- django - PostgreSQL(通过 ElephantSQL)是比 Django 的 SQLite 慢得多的数据库,该怎么办?
- asp.net-mvc - 使用负载均衡器通过不同的技术堆栈重定向流量
- python - 在强制曲线形状的同时拟合数据点
- c# - 对 Web 服务的 Ajax 调用返回错误 401:未经授权
- html - 将鼠标悬停在子级和父级上以触发更改