在LINQ中,使用手动查找(ILookup<T>
)方法和使用Join
或GroupJoin
联接本地的IEnumerable<T>
序列相比,哪种方法更快?
我读过有关资料称编译器实际上会将Join
和GroupJoin
的内部序列转换为ILookup<T>
。
单独使用ILookup<T>
的优点是什么?
在LINQ中,使用手动查找(ILookup<T>
)方法和使用Join
或GroupJoin
联接本地的IEnumerable<T>
序列相比,哪种方法更快?
我读过有关资料称编译器实际上会将Join
和GroupJoin
的内部序列转换为ILookup<T>
。
单独使用ILookup<T>
的优点是什么?
这要看情况而定。如果您正在使用基于DataContext的对象,那么join操作通过select语句被完全转换为SQL服务器。如果是POCO(或更具体地说是Plain Old CLR集合)或其他类型,则会使用ILookup。