Проблема в заполнении словаря с использованием перечисленного. Range ()
-
02-10-2019 - |
Вопрос
Если я сделаю
for (int i = 0; i < appSettings.Count; i++)
{
string key = appSettings.Keys[i];
euFileDictionary.Add(key, appSettings[i]);
}
Он работает нормально.
Когда я пробую то же самое, используя
Enumerable.Range(0, appSettings.Count).Select(i =>
{
string Key = appSettings.Keys[i];
string Value = appSettings[i];
euFileDictionary.Add(Key, Value);
}).ToDictionary<string,string>();
Я получаю ошибку времени компиляции
Тип аргументов для метода 'System.linq.enumerable.select (System.collections.generic.Ienumerable, System.func) «не может быть выведен из использования. Попробуйте указать аргументы типа явно.
Есть идеи?
Использование C#3.0
Спасибо
Решение
Enumerable.Range(0, appSettings.Count).Select(i =>
new
{
Key = appSettings.Keys[i],
Value = appSettings[i]
})
.ToDictionary(x => x.Key, x => x.Value);
Другие советы
Enumerable.Range(0, appSettings.Count)
.ToDictionary(
i => appSettings.Keys[i],
i => appSettings[i]);
> ???????, ? ??????? ?????
Enumerable.Range(0, appSettings.Count).ToList().ForEach(i =>
{
euFileDictionary.Add(appSettings.Keys[i], appSettings[i]);
});
Не связан с StackOverflow