关于LINQ(语言集成查询)是.NET 3.5和Visual Studio 2008以上版本中引入的一种有趣的全新概念,语言版本有VB和C#,由于C#与.NET平台结合最为紧密,也是MS当初首推的语言,因此,本系列文章的示例代码都使用C#。
 
MSDN上资料非常详细和完备,所以,我也不打算讲得过于详尽,再说,网上也有不少博文都阐述过LINQ,如果我还炒冷饭,就有抄袭之嫌。
其实,很多时候我们不必要到处去搜,到处去问人,MSDN上的参考文档已经很优秀了,而且还有多语言版本,也请了牛B人物进行人工翻译,所以说啊,咱们.NET开发者是非常幸运的,一来有VS这个世界级领先的开发工具(目前不好的一点是性能,据说微软正在努力解决),微软一直都希望其产品大众化,市场化,我们也看到了这个大巨头在努力完善;二来,拥有MSDN这么神奇的参考文档。我们完全有理由相信,真的是幸运的,Jdk没有这么详细完备的文档,更别说中文版;PHP也没有如此强劲的参考文档,难道,我们不应该认为,使用.NET是最轻松的吗?
 
噢,废话说得多了一点,还是不说了,回归正题。好的,开门见山,先说说LINQ有些啥好处,相信很多人都会先问这个问题。
SQL语句我想各位不会陌生了,在企业级应用项目中,我们是无法避免与数据库打交道,同时也说明,我们避不开要写SQL语句,这样一来,你又要抽出N多时间去学习SQL的语法和相关知识,或者,你们团队会找人专门搞数据库,或者你一个人担起这个艰巨的任务。
XQurey和XPath听过了吧,我想,很多人都用过,就算不用你也肯定听过的,除非你是当年参加抗日战争的老兵。好了,这时候又说要用XML查询了,你又要抱着一本厚厚的书去学习XML查询,你累不累?
 
有了LINQ就不一样了,敏捷开发自然需要一些新玩意儿来提高效率,这时候,你就爽歪歪了,改革开放的春风吹遍大江南北,LINQ的暖流也可以让我们把编程变成一种享受而不是体力活。
 
要干好LINQ就得从语法开始,其实和SQL很像,后面你会发现的,总体的语法规则可以归为下面两句话:
1、以from打头;
2、以select子句或group子句结尾。
 
是不是这样呢?少吹牛,一起来动手实践一下。
启动VS,新建一个项目,项目类型你喜欢。
要操作数据,自然少不了数据源,当然这里简单的示例,就没必要用数据库了。
轻松一点,我们来一个简单的整型数组。
  1. int[] mySource = new int[] { 20, 35, 15, 16, 72, 64, 58, 73, 99, 48 };
现在,我们把大于等于50的整数筛选出来。
  1. IEnumerable<int> result =
  2. from n in mySource
  3. where n >= 50
  4. select n;
  5. Console.WriteLine(">= 50 的数字如下:");
  6. foreach (int i in result)
  7. {
  8. Console.Write("\t{0}", i);
  9. }
运行一下,我们可以看到结果如下:

好了,LINQ的基本语法就说到这里,更复杂的语法,会在后面系列文章中聊。

LINQ简记(1):基本语法的更多相关文章

  1. C#3.0新增功能09 LINQ 基础07 LINQ 中的查询语法和方法语法

    连载目录    [已更新最新开发文章,点击查看详细] 介绍性的语言集成查询 (LINQ) 文档中的大多数查询是使用 LINQ 声明性查询语法编写的.但是在编译代码时,查询语法必须转换为针对 .NET ...

  2. Linq to sql 的语法

    Linq to SQL 语法查询(子查询 & in操作 & join ) 引用地址:http://www.cnblogs.com/82767136/articles/2949541.h ...

  3. LINQ to Entities 查询语法

    转自: http://www.cnblogs.com/asingna/archive/2013/01/28/2879595.html 实体框架(Entity Framework )是 ADO.NET  ...

  4. Linq之查询表达式语法详解

    1.闲言碎语 由于项目的需要接触到Linq,刚开始有些不适应,好多概念都很模糊.不过经过一段时间的摸索,慢慢地对Linq有了一个更加深入的了解.在此记录一下备忘.      2.查询表达式语法 执行L ...

  5. 让LINQ中的查询语法使用自定义的查询方法

    使用LINQ时有两种查询语法:查询语法和方法语法 查询语法:一种类似 SQL 语法的查询方式 方法语法:通过扩展方法和Lambda表达式来创建查询 例如: List<, , , }; //查询语 ...

  6. LINQ 学习路程 -- 查询语法 LINQ Query Syntax

    1.查询语法 Query Syntax: from <range variable> in <IEnumerable<T> or IQueryable<T> ...

  7. LINQ简记(2):重要概念

    为了能让初学者更快速地掌握,在系列文章中,我尽可能地避开理论讲解,一则对于入门者来说,过多的理论叙述反而会降低大家学习编程的兴趣,二则,官方文档的资料很详细,我说了也是废话.因此,我会尽可能地多举些简 ...

  8. LINQ简记(3):子句

    LINQ查询表达式的子句如select,where,from等都是比较简单的子句,相信各位多练习练习,再结合MSDN的例子,基本上是可以理解的,因此,本文只挑几个有代表性的,以及有些难理解的子句来简述 ...

  9. LINQ TO SQL 常用语法

    LINQ To SQL中IN的用法   IN: C# var result = from s1 in context.Customers where (new string[] { "UK& ...

随机推荐

  1. WAMP 2.5 &quot;FORBIDDEN&quot; error

    对于web开发人员来说.远程訪问站点能够非常方便的提高开发站点开发效率,那么在wamp环境下,默认仅仅支持本地訪问,那么怎样訪问开启远程站点訪问呢? 开启方法: wamp2.5(32bit) 集成环境 ...

  2. 【http代理报文】自己开发HTTP代理工具,不限语种。

    我们知道通过修改浏览器设置可以使用代理访问网页,其实这个操作就是修改了每次的HTTP头. 工作中,我们难免需要通过TCP/IP协议发送HTTP报文来直接请求网页内容(比如爬虫工具),有同学问如何通过H ...

  3. Linux 数据分析常用 shell命令

    .文件合并 目录下有成千上万的小文件,需合并成大文件,直接cat 返回参数列表过长 ls |xargs -t -I{} cat {} >> merge.txt 2.从文本中截取行特定内容 ...

  4. TeX中的引号

    #include <stdio.h> #include <math.h> // 算法竞赛的目标是编程对任意输入均得到正确的结果. // 请先独立完成,如果有困难可以翻阅本书代码 ...

  5. C#使用Quartz.NET详解

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...

  6. DStream 转换操作------有状态转换操作

    import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} obje ...

  7. oracle查询时间段

    select count(*) tt from crm_cisco_call_detailwhere DateTime between to_date('2016-4-5 00:00:00','yyy ...

  8. PCB SQL SERVER 发送邮件(异步改同步)

    采用SQL SERVER发送邮件是队列方式(异步)发送邮件,所以在我们执行发送邮件后,无法立即获取到邮件是否发送成功了,而在PCB行业实际应用中是需要立即获取发送邮件是否成功的状态来决定下一步逻辑该如 ...

  9. PCB ODB++(Gerber)图形绘制实现方法

    这里讲解一下用net解析PCB图形绘制实现方法 一.解析PCB图形绘制实现 解析PCB图形,说简单也非常简单,先说一下,PCB Gerber图形由:点,线,弧,铜皮,文字 5类元素组成,通常简写为:P ...

  10. 简单理解jsonp原理

    对于javascript程序员来说,发送ajax请求获取后台数据然后把数据和模板拼接成字符串渲染回DOM实现无刷新更新页面这样的操作可谓是轻车熟路.但众所周知,ajax有一个不好,就是不能跨域传输数据 ...