Linq表達式樹簡單介紹
Linq有很多值得學習的地方,這里我們主要介紹Linq的本質,包括介紹Linq表達式樹等方面。
Linq的本質就是使用擴展方法擴展了對集合類型的各種查詢方法,***返回的還是一個集合類型。Linq的來龍去脈基本就說清楚了,Linq to Sql 、Linq to DataSet 、Linq to Xml等等也就是Linq針對不同的數據源的一個具體實現的問題,大家剩下的事情就是在工作中根據需要用不同的Linq實現寫不同的Linq查詢了,以后有時間再寫一些這方面的文章。
這里提供一些資源讓我們大家一起學習Linq這個強大的工具:
◆Visual Studio 2008 Training Kit
◆Visual Studio 2008 Samples Page
◆C#3.0規范完全版
1.解釋一下c#語言的版本問題:
.Net Framework 的版本 對應C#的版本
1.1 1.1
2.0,3.0 2.0
3.5 3.0
.Net Framework 3.5 和3.0實際上僅僅是.NetFramework 2.0的一個擴展而已,3.0增加了WPF,WF,WCF,WCS等類庫,3.5增加了Linq、Asp.Net3.5等類庫。
2.另外關于C#3.0里面唯一沒有談到的新特性
Linq表達式樹和Linq的關系我還不是很清楚,有沒有哪位達人可以解釋一下也好讓我對這篇blog做進一步補充,先謝謝了!這里僅僅簡單介紹一下:
Linq表達式樹允許將拉姆達表達式表現為數據結構而不是可執行代碼。一個可以轉換為委托類型D的拉姆達表達式也可以轉換為一個類型為System.Query.Expression
- private static void ExpressionTree()
- {
- string className = "***二班";
- Expression<FilterHandler> e = c => c.Name == className;
- Class c1 = new Class(1);
- c1.Name = className;
- FilterHandler f = e.Compile();
- Console.WriteLine(f(c1));
- }
【編輯推薦】