C# 手动查找相对于加入LINQ的好处?

C# 手动查找相对于加入LINQ的好处?,c#,linq,performance,C#,Linq,Performance,构造和使用手动查找(ILookup)方法是否比在LINQ中的本地IEnumerable序列上使用带有join的联接或GroupJoin的联接快 我在某处读到编译器实际上将Join和GroupJoin的内部序列翻译成ILookup 独立使用ILookup的好处是什么?视情况而定。如果您使用的是基于DataContext的对象,那么连接将通过select语句一直转换到SQL server中。如果它是一个POCO(或者更具体地说是一个普通的旧CLR集合)或其他东西,那么是的,它被用作ILookup。虽

构造和使用手动查找(
ILookup
)方法是否比在LINQ中的本地
IEnumerable
序列上使用带有
join
的联接或
GroupJoin
的联接快

我在某处读到编译器实际上将
Join
GroupJoin
的内部序列翻译成
ILookup


独立使用ILookup的好处是什么?

视情况而定。如果您使用的是基于DataContext的对象,那么连接将通过select语句一直转换到SQL server中。如果它是一个POCO(或者更具体地说是一个普通的旧CLR集合)或其他东西,那么是的,它被用作ILookup。

虽然这个问题很有趣,但对我来说,这似乎是过早的优化。如果您正在编写的代码对性能至关重要,则应该对其进行监视。如果速度足够快,继续下一个任务。一些示例代码会让你的问题更清楚。@Stephen-我试图找出这种方法的优缺点,以及我在这里所说的实际连接是否转化为lookup@Ian-稍后我将添加一些代码来说明我正在尝试的内容say@Philipe-LINQ to SQL不是这里的主题,我知道iQuery可以被解释为表达式树,并在运行时被转换为SQL。主题是IEnumerable,即本地集合上的联接,如果它们确实使用ILookup。