关于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. iOS开发- SceneKit

    打开你的Xcode 6然后新建一个项目,选择iOS/Application/Game模板然后点击Next. 将项目命名为QuickStart,选择开发语言为Swift,然后游戏选用的平台技术选择为Sc ...

  2. codeforce 1073E. Segment Sum

    看到这个就是数位DP了,然而细节极多,对于i=1状态直接判了,还有最后一位直接算了 设f[i][zt][0/1]表示枚举到第i位,用了那些数字,是否有前导0(前导0不计入数字,否则就不知道后面有没有0 ...

  3. document.getElementById方法在火狐和谷歌浏览器兼容

    转自:http://www.office68.com/computer/6505.html 对于前台设计,浏览不兼容是一个很头晕的事情,为此记录下来与大家分享,并供日后自己参考. 例:有一个名为pwd ...

  4. IDEA 中Spark SQL通过JDBC连接mysql数据库

    一.IDEA装驱动: 1.下载一个MySQL的JDBC驱动:mysql-connector-java-5.1.44.tar.gz2.在idea Open Moudle Settings 在 Moudl ...

  5. MVVMLight消息通知实现机制详解(一)

    最近对委托.事件的订阅使用的太多,订阅与被订阅之间的绑定约束非常...麻烦,所以翻了下MVVMLight源码找出这段可以拿出来用的部分,详情见下: 一.开发中遇到的问题: 场景1:ClassA中存在事 ...

  6. E20170804-mk

    epic n. 史诗; 叙事诗; 史诗般的作品; estimate vt. 估计,估算; 评价,评论; 估量,估价; Sprint  vi. 冲刺,全速短跑; n. 全速短跑; 速度或活动的突然爆发; ...

  7. [Swift通天遁地]五、高级扩展-(7)UIView(视图类型)的各种扩展方法

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. Django day26 HyperlinkedIdentityField,序列化组件的数据校验以及功能的(全局,局部)钩子函数,序列化组件的反序列化和保存

    一:HyperlinkedIdentityField(用的很少):传三个参数:第一个路由名字,用来反向解析,第二个参数是要反向解析的参数值,第三个参数:有名分组的名字 -1 publish = ser ...

  9. vue-resource 拦截器的使用

    园友参考  https://www.cnblogs.com/lhl66/p/8022823.html vue-resource 拦截器使用在vue项目使用vue-resource的过程中,临时增加了一 ...

  10. HttpFileCollection 类使用

    public ActionResult GetForm()        {            HttpRequest request = System.Web.HttpContext.Curre ...