我已经使用“select”关键字和扩展方法返回一个带有LINQ的IEnumerable<T>
,但我需要返回一个通用的Dictionary<T1, T2>
,但无法弄清楚。我从以下类似的东西中学到了这个例子:选择字典<T1, T2> with 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被标记为只读,所以我不能编译这段代码)。
这是可能的,还是我需要在多个步骤中做到这一点?
谢谢。
+1 Whuh。这为我创建新数据对象的方式开辟了新的可能性。 – Sung 2009-03-06 01:12:46
太棒了,很高兴你能够使用它,我知道它在某些情况下帮助了我。 – 2009-03-06 01:28:40