gpt4 book ai didi

C# 获取 RegionInfo, TwoLetterISORegionName, 通过瑞典国家名称

转载 作者:太空狗 更新时间:2023-10-30 01:14:27 26 4
gpt4 key购买 nike

我需要为国家/地区获取两个字母的 ISO 区域名称,ISO 3166 - ISO 3166-1 alpha 2。我的问题是我只有瑞典语的国家名称,例如 Sverige 代表 SwedenTyskland 代表 Germany .是否可以仅从这些信息中获取 RegionInfo?我知道英文国家名称是可能的。

作品:

var countryName = "Sweden";
//var countryName = "Denmark";
var regions = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(x => new RegionInfo(x.LCID));
var englishRegion = regions.FirstOrDefault(region => region.EnglishName.Contains(countryName));
var twoLetterISORegionName = englishRegion.TwoLetterISORegionName;

https://stackoverflow.com/a/14262292/3850405

最佳答案

尝试与 NativeName 进行比较:

string nativeName = "Sverige"; // Sweden

var region = CultureInfo
.GetCultures(CultureTypes.SpecificCultures)
.Select(ci => new RegionInfo(ci.LCID))
.FirstOrDefault(rg => rg.NativeName == nativeName);

Console.Write($"{region.TwoLetterISORegionName}");

编辑: 看来我们实际上是想通过 Swedish 名称找出 RegionInfo 实例

  Sverige  -> Sweden
Tyskland -> Germany
...

在这种情况下,我们应该使用 DisplayName而不是 NativeName:

string swedishName = "Sverige"; // Sweden

var region = CultureInfo
.GetCultures(CultureTypes.SpecificCultures)
.Select(ci => new RegionInfo(ci.LCID))
.FirstOrDefault(rg => rg.DisplayName == swedishName);

并且我们应该确保我们使用的是本地化 .Net

The DisplayName property displays the country/region name in the language of the localized version of .NET Framework. For example, the DisplayName property displays the country/region in English on the English version of the .NET Framework, and in Spanish on the Spanish version of the .NET Framework.

关于C# 获取 RegionInfo, TwoLetterISORegionName, 通过瑞典国家名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43469770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com