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

Muh*_*eed 2 .net culture cultureinfo iso-3166 .net-core

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

Esk*_*sko 5

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

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

RegionInfo gb = new RegionInfo("en-GB");
string isoGB = gb.TwoLetterISORegionName;
Run Code Online (Sandbox Code Playgroud)

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