Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有资源解释LINQ to objects操作符是如何实现的?_Linq_Linq To Objects - Fatal编程技术网

是否有资源解释LINQ to objects操作符是如何实现的?

是否有资源解释LINQ to objects操作符是如何实现的?,linq,linq-to-objects,Linq,Linq To Objects,我刚刚就使用.Except与.Any以及它们之间的性能差异进行了一次有趣的交流 我想知道是否有在线资源解释LINQ对对象的不同实现,以及性能影响是什么 我查看了MSDN和hookedonlinq.com,两人都没有提到这一点。Except构建了一个哈希集,而使用array.Any(item=>otherarray.Contains(item))将简单地为每个项迭代第二个数组-性能为O(n²)for.Any vs O(n)for.Except,因为没有具体实现框架的源代码(除了reflector)

我刚刚就使用.Except与.Any以及它们之间的性能差异进行了一次有趣的交流

我想知道是否有在线资源解释LINQ对对象的不同实现,以及性能影响是什么


我查看了MSDN和hookedonlinq.com,两人都没有提到这一点。Except构建了一个哈希集,而使用array.Any(item=>otherarray.Contains(item))将简单地为每个项迭代第二个数组-性能为O(n²)for.Any vs O(n)for.Except

,因为没有具体实现框架的源代码(除了reflector),还有一个,由Jon Skeet提供。这是一个很长的过程(将近50篇博客文章)重新实现所有LINQ操作符来解释它是如何工作的。

绝对-我的系列:)

更准确地说,这是一个关于如何实现LINQto对象的博客系列,其中有关于性能等的各种讨论。我不保证“真正的”实现总是采用相同的路线。。。但我不希望他们有很大的不同


除了对每个运营商进行单独报道外,最新的帖子更为笼统,讨论性能权衡等。

+1到目前为止,您的博客系列阅读效果非常好。你会考虑根据这个系列写一本新书吗?“我想如果你真的这么做的话,那就太好了。”“关于如何处理它,有一些想法正在酝酿之中。”。别担心,会有事情发生的:)