【发布时间】:2009-03-06 00:20:24
【问题描述】:
我使用“select”关键字和扩展方法通过 LINQ 返回 IEnumerable<T>,但我需要返回通用 Dictionary<T1, T2> 并且无法弄清楚。我从中学到的示例使用了类似于以下形式的内容:
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> { ...”,但这不起作用(键和值被标记为只读的,所以我无法编译这段代码)。
这可能吗,还是我需要分多个步骤执行此操作?
谢谢。
【问题讨论】: