LINQ入门

LINQ 是C#中内置的查询语言,感觉和Sql比较类似,主要包括了LINQ to Object,LINQ to XML,LINQ to SQL为不同类型的数据提供了解决方案。暂时只看了LINQ to Object部分,后面的等我看完再补上。
从简单的数组开始,设有一个数组int[] nums存放者大量数据,现在用LINQ来查找其中>1000的存在,并从大到小排序。
var sqlResult = from n in nums where n >1000 orderby descending select n ;
得到的sqlResult是用var关键字申明的,其具体类型根据查询返回结果确定,是不是有点像JavaScript。from子句指明了要查询的数据,n代指某一元素。LINQ数据源必须是可枚举的。where子句确定了查询的条件。orderby即为排序,select指明了结果集合。之后就可以迭代SQLResult来解析所得结果了。
lamda表达式的写法是: var SQLResult = nums.OrderBy(n =>n).Where(n => n >1000);
其中 =>可以理解成 goes to 或者是 such as。也就是满足后面的条件或者是趋近于。lamda表达式实际上定义了一个函数,n => n >1000相当于 boolean func(int n ){return n >1000;}
queryResult还可以调用一系列方法:Max (),Min (),Average (),还有支持自己编写的合计函数的Aggregate()。
对于对象数组而言,用法也是类似的,只不过需要得到属性的话,可以用select o.attr
lamda 写法 objs.Select(n =>n.attr).District ();
来完成投影。注意不支持select子句里有多个字段,而是应该使用对象来进行如select new{o.attr 1,o.attr2} 。除此之外还有Any和All结合lamda表达式来获取是否满足条件。Take(int ) 和Skip()来获取前多少个数据和剩下的。First() 和Firs()和FFirstOrDefault ()来取得第一个查到的值。
用pad打字好慢啊。。。

时间: 2024-09-30 05:28:37

LINQ入门的相关文章

Asp.net之LINQ入门视频教程

当前位置: 主页 > 编程开发 > Asp.net视频教程 > Asp.net之LINQ入门视频教程 > http://www.xin1234.com/Program/AspnetShiPin/AspNetLINQYmSp/ 1.掌握LINQ中的基本概念 上传日期:2014-09-17 02:57:38 相关摘要: - LINQ有关的语言特性:隐式类型 - 网络不稳定的基本处理方法 - python的编程概念比较全面,比vba来得全面,适用范围也广得多了 2.理解扩展方法Lambd

新注册第一帖----------------------乱码新手自学.net 之Linq 入门篇

作为一个业余开发,断断续续学.net/c#也有不少日子了, 学习过程中,不断忘了学,学了忘,这让我很苦恼. 以前学习过程中,我总是在笔记本中记录下来知识要点,这么久下来,笔记本都写了四五本了. 然而,随着笔记本的增多,自己很快发现,笔记写了跟没写一样:笔记多了就找不到了-- 所以,我觉得还是上博客园写博客,记录自己每天的学习心得. 如果有什么错误的地方,欢迎大神指教,小弟在这给大神跪谢了 ======================================================

Linq之旅:Linq入门详解(Linq to Objects)

示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集成查询).通过LINQ,我们可以使用相同API操作不同的数据源.接下来就让我们看看LINQ是什么以及如何使用? 再此之前,需要先了解的相关技术 1. 隐式类型.匿名类型.对象初始化器 1) 隐式类型,使用var关键字创建,C#编译器会根据用于初始化局部变量的初始值推断出变量的数据类型.(不过我个人认

LINQ入门(中篇)

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=163GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com 到现在为止你还未触碰LINQ,那进来吧 —— LINQ入门(中篇) 前言 在上篇中简单的分享了LINQ的基础概念及基础语法,如果没有阅读过上篇的朋友可以点击这里.感谢大家的支持,本篇我们将更进一步的学习LINQ的一些相关特性及应用方法.废话不多说,请往下阅读吧. 延迟加载 在上篇中

LINQ入门(下篇)

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=172GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com 到现在为止你还未触碰LINQ,那进来吧 —— LINQ入门(下篇) 前言 终于来到下篇了,通过上篇,和中篇,我们了解了linq的基本语句,对应linq我们又了解到lambda表达式,静态扩展方法,以及linq的延迟加载的特性,那么在本篇文章中我们将分享学习一下linq对于我们开发中

LINQ入门(完结篇)

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=175GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com 到现在为止你还未触碰LINQ,那进来吧 -- LINQ入门(完结篇)前 言 各种懒惰,各种拖沓,终究是要动笔写终结篇了,在这个系列的前几篇文章里我们主要学习linq的基础语法以及他对内存数据的操作等,那么本篇文章我们将讨论学习最为大家所熟悉的,也是最受争议的 Linq To SQL

linq入门系列导航

写在前面 为什么突然想起来学学linq呢?还是源于在跟一个同事聊天的时候,说到他们正在弄得一个项目,在里面用到了linq to sql.突然想到距上次使用linq to sql是三年前的事情了.下班回到家,翻看了电脑上面关于linq的笔记,它已经逃得无影无踪了.也怪我,没事瞎折腾电脑,早不知道放哪儿了,隐隐约约记得之前写过这样的笔记.没办法,只能重新整理学习了.这也是临近春节,还是把导航放出来吧,感兴趣的,有想回家给自己充充电的,也可以参考一下. 系列文章 Linq之Lambda表达式初步认识

Linq入门——什么是linq & 扩展方法

一,什么是Linq linq(language integrated Query):语言集成查询: linq包含如下: 对对象的查询,对数据库的查询,对XML的查询. 那么,没有linq前我们是怎样查询的? 先看一个例子: 现在我们要查询大于50的数,: 在没有linq之前,我们的代码时这样的: 使用了linq查询: 首先,从直观上看,代码更加简洁,其次,对于查询部分,接近SQL语句,层次清晰,容易理解: 除了简单高效以为,LINQ的出现解决了很多问题: 1,面向对象与数据访问两个领域长期分裂,

LINQ TO SQL Linq入门基础

我们以一个酒店管理系统的数据库为例子 表结构很简单:GuestInfo(客人信息表),Room(房间表),RoomType(房间类型表),HotelInfo(每个月盈利信息) 整体就是,Room中有个房间类型ID的外键,客人表中有个房间的ID的外键.月盈利信息先不管 准备:新建项目 linq_Ch4控制台程序,新建DB文件夹 右击DB文件夹,添加→新建项 选择LINQ to SQL类,文件名为 Hotel.dbml,添加 打开服务器资源管理器,我的快捷键是Ctrl+W+L 选中这四张表,往已经打