`
ljl_xyf
  • 浏览: 633973 次
  • 性别: 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 入门系列

    在这个入门系列中,我们将深入探讨C# 3.0的关键概念,帮助初学者快速掌握这门强大的编程语言。 1. **匿名方法与Lambda表达式**: C# 3.0 引入了匿名方法,它允许我们在不定义单独的方法的情况下,直接在需要的地方...

    c#3.0入门经典教程

    总结来说,C# 3.0入门教程会涵盖这些核心概念,通过学习,你可以掌握C#语言的基础,并能够利用LINQ进行高效的数据操作,为后续深入学习C# 4.0及以上版本打下坚实基础。通过实践,你会逐渐熟悉并爱上这种强大而优雅的...

    C#_3.0_LinQ入门系列

    1. **解析**:编译器将LINQ查询表达式转换为一系列的查询运算符调用。 2. **编译**:将这些调用编译成中间语言(IL),最终生成机器码。 3. **执行**:当查询被枚举时,对应的运算符依次调用,执行实际的查询操作。 ...

    C# 3.0 LinQ入门系列

    C# 3.0 林林总总的 LINQ(Language Integrated ...这个入门系列涵盖了LINQ的基础用法,从简单的查询到复杂的聚合和连接操作,通过学习这一系列教程,开发者将能够熟练地在C#中运用LINQ进行数据操作,提升开发效率。

    C# 3.0 锐利体验系列课程(1)

    在“C# 3.0 锐利体验系列课程(1)”中,"概览"部分将为学员提供一个整体的入门指南,介绍上述关键特性的概念和基本用法。通过这一部分的学习,开发者将能够对C# 3.0的主要改进有一个全面的理解,为进一步深入学习打下...

    C# 3.0:A Beginner’s Guide

    总之,《C# 3.0: 初学者指南》是一本内容丰富、讲解详尽的好书,它不仅适合初学者快速入门,也适合有一定基础的开发者进一步深化对C#的理解。通过本书的学习,读者将能够充分挖掘C# 3.0的潜力,创造出更加优雅、高效...

    C# 3.0与.NET 3.5高级编程

    LINQ(Language Integrated Query,语言集成查询)是C# 3.0中的一个重大创新,它将查询表达式直接整合到编程语言中,提供了统一的方式来访问各种数据源。通过LINQ,开发者可以使用相同的语法对数据库、XML、集合等...

    Wrox - Beginning C# 3.0 (May 2008)

    《C# 3.0入门》是一本专为初学者设计的编程教程,旨在帮助读者掌握C# 3.0编程语言的核心概念和技术。这本书由Wrox出版社出版,于2008年5月发行,提供了全面且深入的C#学习路径。配合提供的源码,读者可以更好地理解...

    C#3.0完全自学手册

    4. **Linq(Language Integrated Query)**:C#3.0的另一大亮点是引入了内置的查询语言,允许开发者以更自然的语句进行数据查询,支持数据库、集合等多种数据源。 5. **匿名方法和委托**:在C#3.0之前,实现事件...

    linq.rar_.net_C# LInq_linq _linq .net3.0

    LINQ(Language Integrated Query,语言集成查询)是.NET框架3.0引入的一项重要技术,它为C#和VB.NET等编程语言提供了一种内建的、类型安全的查询方式,使得开发者可以直接在代码中书写SQL风格的查询语句,而无需...

    C#基础入门系列教程.rar

    C#是一种广泛应用于游戏开发、桌面应用、移动应用以及Web应用等领域的...总之,C#基础入门系列教程将涵盖以上所有知识点,通过理论讲解和实例演示,帮助初学者快速上手C#编程,为进一步深入学习和应用打下坚实的基础。

    《C#入门经典》全书例子代码

    7. **LINQ(Language Integrated Query)**:C# 3.0引入的LINQ提供了一种在代码中集成查询的强大方式,简化了对数据库、数组和其他数据源的操作。 8. **异步编程**:C# 5.0及更高版本引入了async/await关键字,使得...

    C#简易入门教程PPT

    此外,C# 3.0引入了LINQ(Language Integrated Query),使得数据查询更加简洁和直观。 C#的程序结构通常包括命名空间(Namespace)、类定义、方法定义等部分。通过`using`指令,我们可以导入所需的命名空间,以便...

    C__3.0_LinQ入门

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

    C#2013入门到精通例程源码

    4. **LINQ(Language Integrated Query)**: C# 3.0引入了LINQ,允许开发者使用类似SQL的查询语法操作各种数据源。源码中可能会有对数据库操作或集合查询的示例。 5. **异步编程**: C# 5.0引入了async和await关键字...

    c#从入门到精通2010 源代码+pdf

    7. **Lambda表达式**: Lambda表达式是C# 3.0引入的新特性,但在C# 2010中得到了更广泛的应用,特别是在Linq查询中。 8. **LINQ(Language Integrated Query)**: LINQ是一种统一的数据查询语言,可以在各种数据源...

Global site tag (gtag.js) - Google Analytics