2009-06-19 47 views
5

我已經知道LINQ通過評估表達式並通過它們逐個迭代(類似於管道的kinf),但是有某些操作像OrderBy需要進行緩衝,因爲排序需要一次分析所有數據來進行分析這種排序。LINQ中的OrderBy如何工作(幕後)?

我有興趣瞭解幕後的情況,這些數據是如何在LINQ中緩衝的。

如果有人能指點我的文章或解釋,我將不勝感激。

感謝

+0

你可以使用.net反射工具來查看究竟發生了什麼 – eulerfx 2009-06-19 15:24:29

回答

2

這是到LINQ提供程序來實現。一些提供者(例如,LINQ to SQL,LINQ to Entities)將音譯爲SQL OrderBy。其他(LINQ to Objects)將在客戶端進行排序。所有的LINQ本身就是調用名爲OrderBy或OrderByDesc的方法。