Linq表達(dá)式樹簡單介紹
Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹Linq的本質(zhì),包括介紹Linq表達(dá)式樹等方面。
Linq的本質(zhì)就是使用擴(kuò)展方法擴(kuò)展了對集合類型的各種查詢方法,***返回的還是一個(gè)集合類型。Linq的來龍去脈基本就說清楚了,Linq to Sql 、Linq to DataSet 、Linq to Xml等等也就是Linq針對不同的數(shù)據(jù)源的一個(gè)具體實(shí)現(xiàn)的問題,大家剩下的事情就是在工作中根據(jù)需要用不同的Linq實(shí)現(xiàn)寫不同的Linq查詢了,以后有時(shí)間再寫一些這方面的文章。
這里提供一些資源讓我們大家一起學(xué)習(xí)Linq這個(gè)強(qiáng)大的工具:
◆Visual Studio 2008 Training Kit
◆Visual Studio 2008 Samples Page
◆C#3.0規(guī)范完全版
1.解釋一下c#語言的版本問題:
.Net Framework 的版本 對應(yīng)C#的版本
1.1 1.1
2.0,3.0 2.0
3.5 3.0
.Net Framework 3.5 和3.0實(shí)際上僅僅是.NetFramework 2.0的一個(gè)擴(kuò)展而已,3.0增加了WPF,WF,WCF,WCS等類庫,3.5增加了Linq、Asp.Net3.5等類庫。
2.另外關(guān)于C#3.0里面唯一沒有談到的新特性
Linq表達(dá)式樹和Linq的關(guān)系我還不是很清楚,有沒有哪位達(dá)人可以解釋一下也好讓我對這篇blog做進(jìn)一步補(bǔ)充,先謝謝了!這里僅僅簡單介紹一下:
Linq表達(dá)式樹允許將拉姆達(dá)表達(dá)式表現(xiàn)為數(shù)據(jù)結(jié)構(gòu)而不是可執(zhí)行代碼。一個(gè)可以轉(zhuǎn)換為委托類型D的拉姆達(dá)表達(dá)式也可以轉(zhuǎn)換為一個(gè)類型為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));
- }
【編輯推薦】