2011-04-21 50 views
1

尝试为应用程序生成货币类型种子数据并遍历System.Globalization的CultureInfo集合。在我的插入语句中,我一直发现截断错误,直到我发现加勒比出现时(在MSDN上列出CB)在TwoLetterISORegionName上出现了3个字符值029。我有一个严肃的WTF时刻。为什么RegionInfo.TwoLetterISORegionName为加勒比返回3个字符?

有谁知道为什么会发生这种情况?

重现:

实例化CaribbeanInfo的RegionInfo对象。

RegionInfo region = new RegionInfo(9225); 

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

+0

添加一些可测试的代码。 – 2011-04-21 19:53:22

回答

0

看起来好像没有ISO-3166的双字母ISO国家代码根据ISO WebsiteWikipedia ISO 3166-1 page也是如此。

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

+1

所以它可能是文档问题而不是框架问题。该死。我认为我的书呆子的信誉刚刚发现,因为找到了一个实际的框架错误。 – 2011-04-21 20:24:02

+0

我不确定你的假设是否有错。试图涵盖具有相同结构的地区和国家并提供一些常见的方法/特性可能会产生误导,并导致一些“冲突”。 – jCoder 2011-04-21 20:38:07

+1

我已经通过微软验证过这是一个文档错误。他们向我保证,知识库将会更新,以反映加勒比国际标准组织将按照国际标准029返回。 – 2011-09-20 13:57:55

相关问题