第3讲:查询表达式LINQ(1)
2007.6.15 李建忠
C# 3.0语言主要增强
隐含类型局部变量
扩展方法
对象与集合初始化器
匿名类型
Lambda表达式
查询表达式(LINQ)
表达式树
LINQ简介
OO(面向对象)以外的疆域:信息的访问与整合。关系数据库与XML为其中的典型应用。
.NET Language Integrated Query(LINQ):不采用特定于关系数据库或者XML的专有方案,而采用通用方案来解决各种信息源的访问与整合问题。
在LINQ中,查询成为编程语言的一个组成部分,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处。
初识LINQ表达式
查询表达式解析
在语义上等同于如下“方法风格(基于方法)的查询”:
注意其中的参数为Lambda表达式,类似于如下委托:
查询操作符与扩展方法解析
查询操作符是LINQ中的另外一项重要设施,LINQ使用扩展方法来定义查询操作符,例如where操作符:
普通的方式来调用扩展方法:
C#语言允许我们使用如下的方式来调用扩展方法:
注意:扩展方法的优先级低于实例方法。
2010.11.11