2016-08-17 7 views
0

Нужна помощь, так как это сводит меня с ума, и я не могу сказать, делаю ли я что-то глупое или нет.CultureInfo от RegionInfo using LINQ

Я пытаюсь собрать список всех конкретных культур и получить их соответствующий RegionInfo. из этого списка я пытаюсь получить регион, соответствующий стране, предоставленной параметром. Я пытаюсь это через LINQ, как показано ниже;

public RegionInfo getregion(string country) 
{ 
    RegionInfo thisregion; 
    List<RegionInfo> regions = new List<RegionInfo>(); 
    CultureInfo[] allregions = CultureInfo.GetCultures(CultureTypes.SpecificCultures); 
    regions.AddRange(allregions.Where(x => !x.IsNeutralCulture).Select(x => new RegionInfo(x.LCID))); 
    thisregion = regions.FirstOrDefault(region => region.EnglishName == country); 
    return thisregion; 
} 

Эта конкретная функция продолжает бросать исключение во время операции Select(), ошибки ниже;

Дополнительная информация: Культура ID 4096 (0x1000) - нейтральная культура; регион не может быть создан из него.

Культура в вопросе, вызывающая проблему, является aa-ER. Как вы можете видеть, я отфильтровал список на основе IsNeutralCulture Boolean, поэтому сетевая структура не считает, что эта культура нейтральна, но ошибка говорит иначе.

Я делаю что-то глупое?

EDIT: Интересно, что первый комментарий заставил меня протестировать его на другой машине, которая не бросала ошибку на ту же культуру. Похож на проблему с машиной.

+1

Я выполняю ваш код на своей машине, и все в порядке ... Можете ли вы сказать, что это «страна», которую вы используете? Не должно быть связано, но лучше проверить его –

+0

Страна в этом случае - Чешская Республика, однако код не доходит так далеко. –

+0

Работает и для меня. Но я замечаю, что у меня нет aa-ER во всех регионах. allregions count is 248. –

ответ

1

ОК, так как обходной путь к этой проблеме, я изменил инструкцию Select для инициализации RegionInfo для x.Name вместо x.LCID, и это сработало. Не знаю, почему LCID терпит неудачу, но это решение будет сделано.

Смежные вопросы