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));
- }
【编辑推荐】