如何从 .NET 中的 CultureInfo 获取 ISO 3166 国家代码

Posted

技术标签:

【中文标题】如何从 .NET 中的 CultureInfo 获取 ISO 3166 国家代码【英文标题】:How to get ISO 3166 Country Code from CultureInfo in .NET 【发布时间】:2019-04-08 09:03:50 【问题描述】:

给定一个CultureInfo 对象,我如何获得两个字符的 ISO 3166 国家代码?例如。来自en-US,我想要US,来自en-GB,我想要GB。我还需要处理文化可能没有国家代码的情况。

【问题讨论】:

【参考方案1】:

使用RegionInfo-class 检索两个(或三个)字母的iso 区域名称:

RegionInfo usa = new RegionInfo("en-US");           
string isoUSA = usa.TwoLetterISORegionName;

RegionInfo gb = new RegionInfo("en-GB");
string isoGB = gb.TwoLetterISORegionName;

如果您尝试将无效值传递给构造函数,您可能希望捕获可能发生的异常。

【讨论】:

以上是关于如何从 .NET 中的 CultureInfo 获取 ISO 3166 国家代码的主要内容,如果未能解决你的问题,请参考以下文章

如何从 CultureInfo 获取没有国家/地区的语言

.NET 3.5 中的 CultureInfo 类支持哪些文化?

如何在 ASP .NET MVC 中使用 Resources 和 CultureInfo 更改站点语言?

如何翻译 CultureInfo 语言名称

在 CultureInfo 中获取当前语言

如何在只读 CultureInfo.NumberFormat 上设置 CurrencySymbol?