现在的位置: 首页 > 综合 > 正文

.NET的那些事儿(5)——C#3.0 LINQ 查询语法

2013年09月02日 ⁄ 综合 ⁄ 共 1891字 ⁄ 字号 评论关闭

一、LINQ介绍

LINQ,语言级集成查询(Language INtegrated Query)

经过了最近 20 年,面向对象编程技术(object-oriented (OO) programming technologies)在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像 类(classes)、对象(objects)、方法(methods)这样的语言特性。考察现在和下一代的技术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决降低访问和整合信息数据(accessing and integrating information)的复杂度的问题。其中两个最主要访问的数据源与数据库(database )和 XML 相关。

LINQ 提供了一条更常规的途径即给 .Net Framework 添加一些可以应用于所有信息源(all sources of information )的具有多种用途(general-purpose)的语法查询特性(query facilities ),这是比向开发语言和运行时(runtime )添加一些关系数据(relational)特性或者类似 XML 特性(XML-specific)更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。

二、LINQ语法

1. LINQ的读法:(1)lin k (2)lin q
2. LINQ的关键词:from, select, in, where, group by, order by …
3. LINQ的注意点:必须以select或者是group by 结束。
4. LINQ的语义:
from 临时变量 in 集合对象或数据库对象
where 条件表达式
[order by条件]
select 临时变量中被查询的值
[group by 条件]

三、C#3.0 LINQ示例

首先来看一个很简单的LINQ查询例子,查询一个int 数组中小于5的数字,并按照大小顺序排列:

上述代码除了LINQ查询语法外,其他都是我们所熟悉的语法,而LINQ查询语法跟SQL查询语法很相识,除了先后顺序。

再看一个相对复杂的例子:在我们罗列的语言字符串中,我们希望按照字符长短,分类罗列出来,实现代码如下

参考资料

1、C#3.0 LINQ 查询语法http://blog.joycode.com/ghj/archive/2007/06/07/103960.aspx

2、LINQ专题:http://tech.it168.com/zt/linq/index.html

3、XML和LINQ实战详解:http://www.maeee.cn/article/it/linq/show/2008122211350135.shtml

抱歉!评论已关闭.