Почему RegionInfo.TwoLetterISORegionName возвращает 3 символа для Карибского бассейна?

Попытка сгенерировать начальные данные типа валюты для приложения и перебрать коллекцию CultureInfo System.Globalization. Я продолжал получать ошибки усечения в моих операторах вставки до тех пор, пока не обнаружил, что при появлении Caribbean (указан в MSDN как CB) 3-символьное значение 029 для TwoLetterISORegionName. У меня был серьезный момент WTF.

кто-нибудь знает, почему это произошло?

Воспроизвести:

Создание объекта RegionInfo для Карибского бассейна.

RegionInfo region = new RegionInfo(9225);

Откройте свойство TwoLetterISORegionName. Значение должно быть CB. Фактическое значение 026.

1 ответ

Решение

Похоже, что нет ISO-3166 двухбуквенного кода страны ISO, основанного на веб-сайте ISO. То же самое касается страницы Википедии ISO 3166-1.

Весьма интересно, что Carribean указан в MSDN. Может быть, это потому, что RegionInfo также относится к географическим регионам, а не только к странам, но это только предположение.

Другие вопросы по тегам