in

SDT Community Server

SDT Forums, Blogs, Photos server.

alex

[转贴]LINQ 初探

LINQ 初探

LINQ是什么?
它是Language Integrated Query。
当我们要对数据库表进行查询的时候,我们一定会编写"select * from sometable where ID = .."的语句。好,那我们现在根据LINQ的语法,完全可以将我们熟悉的SQL中像"select","from","where"等语句在.NET Framework环境中顺利使用并且大大提高开发的效率。

下面我就牛刀小试,做个demo看看。

1. 先下载LinQ框架 
    现在最新版本是2006年5月发布"Orcas CTP", 下载地址(这里 )

2. 下载安装待完毕。

3. 新建一个"LINQ Console Application"项目。

4. 输入代码如下:   

 1
 2using System;
 3using System.Collections.Generic;
 4using System.Text;
 5using System.Query;
 6using System.Xml.XLinq;
 7using System.Data.DLinq;
 8
 9namespace LINQConsoleApplication1
10{
11    class Program
12    {
13        static void Main(string[] args)
14        {
15            string[] aBunchOfWords = {"One","Two""Hello""World"
16
17"Four""Five"}
;
18            var result = 
19            from s in aBunchOfWords // query the string array 
20            where s.Length == 5     // for all words with length = 5
21            select s;               // and return the string
22            foreach (var s in result) {
23                Console.WriteLine(s); //print
24            }

25        }

26    }

27}

28
29


运行结果如下:
Hello
World
print any key to continue ...

这是我学习LINQ的第一个小程序,深感LINQ对编程语言带来的改变。将此例子给大家共同学习!

Comments

 

wego said:

这岂不是等于3.0的"查询表达式"
且用到 var
令外, 3.0 还提供关于查询用的"拉姆达表达式"
如:
goods.FilterBy((string name, double price) => name == "banana" && price < 2.00);
(goods 是一个集合类)
August 2, 2006 9:02 AM
 

jawance said:

delphi6 以后的历史,TQuery.Table.Filter("where ID >2") ;这样的语法就开始流行了, 但看到LINQ就发觉编程语言的进化已经开始流行"口语"了。
August 4, 2006 5:28 PM
Copyright SDT, 2006-2009. All rights reserved.