为什么RegionInfo.TwoLetterISORegionName为Caribbean返回3个字符?

时间:2011-04-21 19:21:58

标签: c# cultureinfo regioninfo

尝试为应用程序生成货币类型种子数据,并迭代System.Globalization的CultureInfo集合。我一直在插入语句中出现截断错误,直到我发现当Caribbean出现(在MSDN列为CB)时,TwoLetterISORegionName上的3个字符值为029。我有一个严重的WTF时刻。

有谁知道为什么会这样?

重现:

实例化Caribbean的RegionInfo对象。

RegionInfo region = new RegionInfo(9225);

访问TwoLetterISORegionName属性。 价值应该是CB。实际值是026。

1 个答案:

答案 0 :(得分:0)

看起来没有基于ISO Website的ISO-3166双字母ISO国家代码。 Wikipedia ISO 3166-1 page也是如此。

很有意思的是,Carribean被MSDN列出。也许这是因为RegionInfo也适用于地理区域而不仅仅适用于国家,但这只是猜测。