我有以下代码:
var culture = CultureInfo.CurrentUICulture;
var regionInfo = new RegionInfo(culture.TwoLetterISOLanguageName);如果CurrenUiCulture是希伯来语,带有ISOLanguageName“他”抛出一个异常
他不应该对应于中性文化的区域名称;需要一个特定的文化名称。
它适用于阿拉伯,西班牙,中国等文化.怎么了?
发布于 2014-09-25 15:44:02
he是一个与区域无关的区域性,如下面的代码所示
new CultureInfo("he").IsNeutralCulture; // true采用RegionInfo构造函数的int以我认为更容易理解的不同方式表示异常。
new RegionInfo(new CultureInfo("he").LCID) // Culture ID 13 (0x000D) is a neutral culture; a region cannot be created from it.尝试使用更具体的文化名称,例如以色列的he-il。
new RegionInfo("he-il")不会抛出异常。
至于你的其他例子..。
es既是西班牙语的区域中立语言代码,也是西班牙的国家代码( also accepts a country code,所以这就是它工作的原因。)ar既是阿拉伯语的区域中立语言代码,也是阿根廷的国家代码(因此它“有效”,但不会得到预期的结果)。zh是中国的地区中立代码,它不应该起作用。不过,如果你尝试cn,它是有效的,因为它是国家代码。发布于 2014-09-25 15:40:41
我想你需要一些更具体的东西,比如:
regionInfo = new RegionInfo("en-US")我不能说希伯来语需要哪个字串,但是,当我做一些研究时,我甚至找不到希伯来语的缩写"he“.我发现的是这个列表,没有希伯来语,只有以色列的"IL“( .NET 3.5):
[http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo%28v=VS.90%29.aspx][1]
希望这能帮到你。
https://stackoverflow.com/questions/26042223
复制相似问题