Почему 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 также относится к географическим регионам, а не только к странам, но это только предположение.