第3讲:查询表达式LINQ(1)

2007.6.15 李建忠

C# 3.0语言主要增强

隐含类型局部变量

扩展方法

对象与集合初始化器

匿名类型

Lambda表达式

查询表达式(LINQ)

表达式树

 

LINQ简介

OO(面向对象)以外的疆域:信息的访问与整合。关系数据库与XML为其中的典型应用。

.NET Language Integrated Query(LINQ):不采用特定于关系数据库或者XML的专有方案,而采用通用方案来解决各种信息源的访问与整合问题。

在LINQ中,查询成为编程语言的一个组成部分,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处。

 

初识LINQ表达式

image

 

查询表达式解析

image

在语义上等同于如下“方法风格(基于方法)的查询”:

image

注意其中的参数为Lambda表达式,类似于如下委托:

image

 

查询操作符与扩展方法解析

查询操作符是LINQ中的另外一项重要设施,LINQ使用扩展方法来定义查询操作符,例如where操作符:

image

普通的方式来调用扩展方法:

image

C#语言允许我们使用如下的方式来调用扩展方法:

image

注意:扩展方法的优先级低于实例方法。

2010.11.11

posted @ 2010-11-11 21:48  山天大畜  阅读(347)  评论(0编辑  收藏  举报