`
ljl_xyf
  • 浏览: 616929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C# 3.0 入门系列(linq)(一)

阅读更多

 

谈到dlinq ,就不得不先说linq 。让我们先看看什么是linqlinq Language Integrated Query 的缩写。那么事实上dlinq 就是 Database Language Integrated Query  的缩写。linqdlinq 最大的区别就在与linq 是对内存进行操作,而dlinq 的操作对象为数据库。
我们先来看一个linq 的例子。在这之前,你需要安装s2008  beta 2版本。可以到
 http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx
下载。如果,你的机器上是vs2005 的英文版,你还需要安装一个linq preview 版本。你可以到下面地址去下载。
http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en
微软也提供了好多学习的地方。先给出几个链结。
http://msdn.microsoft.com/data/ref/linq/

http://www.my400800.cn
http://msdn.microsoft.com/data/ref/linq/default.aspx?pull=/library/en-us/dndotnet/html/linqprojectovw.asp
http://msdn.microsoft.com/vcsharp/future/

好,我们先来看一个linq 的例子。这个例子可以从linq 的说明文档上得到。

 

 using System;
 using System.Query;
 using System.Collections.Generic;
 
  class app {
    static void Main() {
      string[] webSitenames = { "http://www.google.cn", "http://www.baidu.com", "http://www.my400800.cn", 
                        "http://www.sina.com.cn", "http://www.yahoo.com", "http://www.bing.com", 
                        "http://www.sogou.com", "http://www.soso.com" };
 
     IEnumerable<string> expr = from s in webSitenames 
                                where s.Length == 22
                                orderby s
                                select s.ToUpper();
 
     foreach (string item in expr)
       Console.WriteLine(item);
   }
 }
 

 

 

 

你可能感觉比较陌生。放心,这大概是第一次看到缘故。在这里像 from whereorderby, select 等都是linq 的保留字,都该用蓝色显示的,但是好像cnblogs 还没有开始支持。所以插入代码时,他们就被当作普通字符了。

其实,query expression 看起来和sql 语句很像。 比如 select * from table1 where column1 = "";
我第一次看到linq 时,就感觉是写在程序里的sql 语句。只不过,以前我们都是用string 类型形成一个sql 语句,然后通过commandadapter 传到sql server 中。而现在,感觉就像把sql 语句直接当成程序代码来实现。这只不过是我们的一个错觉。

这个例子,只不过是从一个string 的数组中,提取出长度为22 的,并且把提取的数据全部变成大写。
IEnumerable <string > 使用到了c#2.0 中的泛型。 该列子的结果,返回一个数据集,存放到expr 中。 在这里,从那个数据集中取的结果,是用in 表达的,如列所示, from s in webSitenames , 在webSitenames 集合中,取出ss 代表一条条纪录。where 表示条件,orderby 表示按什么排序。select 选择那些字段组成变量。这里,你可能会觉得奇怪,s 变量在那里声明的呢。我第一看到这里的时候,也感到奇怪。其实s 变量是webSitenames  变量里的元素,你在in webSitenames 时,已经声明了s 变量。

在这个列子中,大家可以先感受一下linq ,在随后的章节中,我会为大家介绍更多。对内存数组的查询,并不能显示出linq 的强大功能,对数据库的操作,才使得linq 更加具有实际意义。
在随后的章节中,我将逐渐介绍dlinq 的语法。

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    C#_3.0_LinQ入门系列

    C#_3.0_LinQ入门系列

    C# 3.0 LinQ入门系列

    C# 3.0 LinQ入门系列 介绍在C#中使用LINQ功能的教程

    接触Linq必看简单教程

    5. C#3.0入门系列(五)-之Where操作 Where操作语法。 6. C#3.0入门系列(六)-之OrderBy操作 OrderBy 操作语法。 7. C#3.0入门系列(七)--之OR工具介绍 映射工具的介绍,OR Designer 8. C#3.0入门系列(八)...

    C#3.0与.net3.5之Linq入门

    本书为linq入门书籍,简单易懂。主要介绍了linq的基本语法及应用。

    C# 3.0与.NET 3.5高级编程.pdf

    《精通C# 3.0与.NET 3.5高级编程——LINQ、WCF、WPF、WF》 LINQ查询基础 WPF编程入门 WF编程入门 SOA和WCF基础介绍

    C# 3.0与.NET 3.5高级编程

     LINQ查询基础  WPF编程入门  WF编程入门  SOA和WCF基础介绍

    C# 3.0与.NET 3.5高级编程(部分章节电子书)

    C# 3.0与.NET 3.5高级编程(部分章节电子书).  LINQ查询基础  WPF编程入门  WF编程入门  SOA和WCF基础介绍

    Linq入门(word)

    C# 3.0 入门系列--Linq.docx 整理自http://www.cnblogs.com/126/archive/2007/10/15/924858.html

    C__3.0_LinQ入门

    LINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,...但是,LINQ to XML 与 DOM 不同: 它提供一种新的对象模型,这是一种更轻量的模型, 使用也更方便,这种模型利用了 Visual C# 2008 在语言方面的改进

    C#从入门到实践源码

    重点包含C# 3.0中的面向对象编程技术和常用的扩展技术,如类、结构、数组、接口、委托、事件、异常处理、泛型、分部类型、可空类型、隐型变量、对象和集合初始化器、迭代器、匿名类型、扩展方法、Lambda表达式、LINQ...

    C#入门经典(第四版)(美)沃森 内格尔.源码

    第14章 C#3.0语言的改进 第2部分 Windows编程 第15章 Windows编程基础 第16章 Windows Forms的高级功能 第17章 使用通用对话框 第18章 部署Windows应用程序 第3部分 Web编程 第19章 Web编程基础 第20章 Web高级编程 ...

    wpf源码大全 精通C#3.0图书源码 详细源码 学习好用

    示例描述:本章演示如何使用WF进行编程入门。 AnswerToRiddleNormal 使用传统语法的猜迷游戏示例。 AnswerToRiddleWF 使用WF的猜迷游戏示例。 ApprovalOrder 订单批核WF示例程序。 SimpleStateMachine ...

    自己的LINQ入门学习资料(有linq to sql)

    这是一份自己在工作中整理的一份linq资料,希望对学习linq的人有帮助,其中还包含了一些linq to sql,C#3.0的知识

    C#入门经典(第4版)中文版高清PDF【共16个分卷】.part12

    第14章 C#3.0语言的改进 第2部分 Windows编程 第15章 Windows编程基础 第16章 Windows Forms的高级功能 第17章 使用通用对话框 第18章 部署Windows应用程序 第3部分 Web编程 第19章 Web编程基础 第20章 Web高级编程 ...

    C#入门经典(第4版)中文版高清PDF【共16个分卷】.part04

    第14章 C#3.0语言的改进 第2部分 Windows编程 第15章 Windows编程基础 第16章 Windows Forms的高级功能 第17章 使用通用对话框 第18章 部署Windows应用程序 第3部分 Web编程 第19章 Web编程基础 第20章 Web高级编程 ...

    C#入门经典(第4版)中文版高清PDF【共16个分卷】.part07

    第14章 C#3.0语言的改进 第2部分 Windows编程 第15章 Windows编程基础 第16章 Windows Forms的高级功能 第17章 使用通用对话框 第18章 部署Windows应用程序 第3部分 Web编程 第19章 Web编程基础 第20章 Web高级编程 ...

    C#入门经典(第4版)中文版高清PDF【共16个分卷】.part14

    第14章 C#3.0语言的改进 第2部分 Windows编程 第15章 Windows编程基础 第16章 Windows Forms的高级功能 第17章 使用通用对话框 第18章 部署Windows应用程序 第3部分 Web编程 第19章 Web编程基础 第20章 Web高级编程 ...

    C#入门经典(第4版)中文版高清PDF【共16个分卷】.part01

    第14章 C#3.0语言的改进 第2部分 Windows编程 第15章 Windows编程基础 第16章 Windows Forms的高级功能 第17章 使用通用对话框 第18章 部署Windows应用程序 第3部分 Web编程 第19章 Web编程基础 第20章 Web高级编程 ...

Global site tag (gtag.js) - Google Analytics