Я использовал ключевое слово «select» и метод расширения для возврата IEnumerable<T>
с LINQ, но мне нужно вернуть общий Dictionary<T1, T2>
и не могу понять это. Например, я узнал об этом от используемого что-то в форме, похожей на следующее:Выберите словарь <T1, T2> с LINQ
IEnumerable<T> coll = from x in y
select new SomeClass{ prop1 = value1, prop2 = value2 };
Я также сделал то же самое с методами расширения. Я предположил, что поскольку элементы в Dictionary<T1, T2>
можно повторить как KeyValuePair<T1, T2>
, я мог бы просто заменить «SomeClass» в приведенном выше примере «new KeyValuePair<T1, T2> { ...
», но это не сработало (Key и Value были отмечены как readonly, поэтому я не мог скомпилируйте этот код).
Возможно ли это, или мне нужно сделать это несколькими шагами?
Спасибо.
+1 Whuh. Это открывает новые возможности по отношению к созданию новых объектов данных. – Sung
Удивительный, рад, что вы сможете использовать его, я знаю, что это помогло мне в некоторых ситуациях. –
Эгады! Сейчас 2017 год, и я только что узнал об этом! –