首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LINQ从CultureInfo从RegionInfo获得

使用LINQ从CultureInfo从RegionInfo获得
EN

Stack Overflow用户
提问于 2016-08-17 12:13:18
回答 1查看 2.6K关注 0票数 6

需要帮助,因为这让我发疯了,我不知道我是不是在做什么蠢事。

我正在收集所有特定文化的列表,并得到相应的RegionInfo。从这个列表中,我试图得到一个由参数提供的国家对应的区域。我试图通过LINQ,如下图所示;

代码语言:javascript
复制
public RegionInfo getregion(string country)
{
    RegionInfo thisregion;
    List<RegionInfo> regions = new List<RegionInfo>();
    CultureInfo[] allregions = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
    regions.AddRange(allregions.Where(x => !x.IsNeutralCulture).Select(x => new RegionInfo(x.LCID)));
    thisregion = regions.FirstOrDefault(region => region.EnglishName == country);
    return thisregion;
}

这个特定的函数在Select()语句期间一直抛出一个异常,下面是错误;

附加信息:区域性ID 4096 (0x1000)是中性区域性;无法从中创建区域。

引起这一问题的文化是aa-ER。正如您所看到的,我已经根据IsNeutralCulture布尔值对列表进行了筛选,所以net框架并不认为这种文化是中性的,但是错误却不这样认为。

我在做什么蠢事吗?

编辑:有趣的是,第一条评论引导我在另一台机器上测试它,它没有将错误抛到相同的文化中。看上去是机器问题。

EN

回答 1

Stack Overflow用户

发布于 2016-08-17 12:46:48

好的,为了解决这个问题,我更改了Select语句以初始化RegionInfo for x.Name,而不是x.LCID,这已经奏效了。不知道为什么LCID失败了,但是这个解决方案可以。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38996346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档