Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RegionInfo在Windows 8.1应用程序中引发异常_C#_C# 4.0_Globalization - Fatal编程技术网

C# RegionInfo在Windows 8.1应用程序中引发异常

C# RegionInfo在Windows 8.1应用程序中引发异常,c#,c#-4.0,globalization,C#,C# 4.0,Globalization,我有以下代码: var culture = CultureInfo.CurrentUICulture; var regionInfo = new RegionInfo(culture.TwoLetterISOLanguageName); 如果currenculture是希伯来语,且具有ISOLanguageName,“he”抛出异常 地域名称不应与中立文化相对应;A. 需要特定的区域性名称 它与其他文化如阿拉伯、西班牙、中国等合作。。。怎么了?我想你需要更具体的东西,比如: regionI

我有以下代码:

 var culture = CultureInfo.CurrentUICulture;
 var regionInfo = new RegionInfo(culture.TwoLetterISOLanguageName);
如果
currenculture
是希伯来语,且具有ISOLanguageName,“he”抛出异常

地域名称不应与中立文化相对应;A. 需要特定的区域性名称


它与其他文化如阿拉伯、西班牙、中国等合作。。。怎么了?

我想你需要更具体的东西,比如:

regionInfo = new RegionInfo("en-US")
我不能说希伯来语需要哪个字符串文字,但是,我做了一些研究,甚至找不到希伯来语的缩写“he”。。。我发现的是这个列表,以色列没有希伯来语,只有“IL”(代表.NET3.5):

[


希望这能对你有所帮助。

他是一个地区中立的文化,正如代码所示

new CultureInfo("he").IsNeutralCulture; // true
采用
int
构造函数的
RegionInfo
以我发现更容易理解的另一种方式表达异常

new RegionInfo(new CultureInfo("he").LCID) // Culture ID 13 (0x000D) is a neutral culture; a region cannot be created from it.
尝试使用更具体的文化名称,例如以色列的
he il

newregioninfo(“he-il”)
不会引发异常

至于你的其他例子

  • es
    既是西班牙语的地区中立语言代码,也是西班牙语的国家代码(),因此它可以工作
  • ar
    是阿拉伯语的地区中性语言代码,也是阿根廷的国家代码(因此它“起作用”,但不会得到预期的结果)
  • zh
    是中国的地区中立代码,不应该起作用。但是如果你尝试
    cn
    它起作用,因为它是国家代码

如何将中性区域性转换为特定区域性?我有同样的问题。没有简单的转换。一个中性区域性对应于许多特定的区域性。