我希望你能帮我,因为这让我发疯了,我无法确定自己是否在做一些愚蠢的事情。
我正在尝试收集所有特定文化并获取它们对应的RegionInfo。从该列表中,我正在尝试通过LINQ获取与参数提供的国家对应的地区。如下所示:
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 Framework认为这种文化不是中性的,但错误却表示相反。
我做了什么蠢事吗?
编辑:有趣的是,第一条评论让我在另一台机器上测试它,同样的文化没有抛出错误。看起来像是机器的问题。