У меня есть следующий словарь:
Dictionary<int,string> dic = new Dictionary<int,string>();
dic[1] = "A";
dic[2] = "B";
Я хочу отфильтровать элементы словаря и переназначить результат той же переменной:
dic = dic.Where (p => p.Key == 1);
Как мне вернуть результат в виде словаря того же типа [ <int,string>
]?
Я пробовал ToDictionary
, но не получается.
Заранее спасибо.
c#
linq
dictionary
linq-to-objects
Хомам
источник
источник
Ответы:
ToDictionary
это путь. Он действительно работает - по-видимому, вы просто использовали его неправильно. Попробуй это:dic = dic.Where(p => p.Key == 1) .ToDictionary(p => p.Key, p => p.Value);
Сказав это, я предполагаю, что вам действительно нужен другой
Where
фильтр, так как ваш текущий всегда найдет только один ключ ...источник