【发布时间】:2011-03-09 13:57:13
【问题描述】:
构造和使用手动查找 (ILookup<T>) 方法是否比在 LINQ 中的本地 IEnumerable<T> 序列上使用 Join 或 GroupJoin 连接更快?
我在某处读到编译器实际上将Join 和GroupJoin 的内部序列转换为ILookup<T>。
单独使用ILookup<T> 有什么好处?
【问题讨论】:
-
虽然这个问题很有趣,但对我来说这似乎是过早的优化。如果您正在编写的代码对性能至关重要,那么您应该对其进行监控。如果速度够快,继续下一个任务。
-
一些示例代码会让你的问题更清楚。
-
@Stephen - 我试图弄清楚这种方法的优缺点,如果我在这里所说的实际连接被转换为查找
-
@Ian - 我稍后会添加一些代码来说明我想说什么
-
@Philipe - LINQ to SQL 不是这里的主题,我知道 IQueriable
被解释为表达式树并在运行时转换为 SQL。主题是 IEnumerable ,即加入本地集合,如果它们真正使用 ILookup。
标签: c# linq performance