Linq to Objects

查询操作符:

where操作符

投影操作符:Select , SelectMany

排序操作符:

  OrderBy, OrderByDescending,ThenBy,ThenByDescending 必须先使用OrderBy然后才能使用ThenBy ,

  Reverse操作符:将查询结果颠倒

分组操作符:GroupBy

联接操作符:Join,GroupJoin

集合操作符:

  Distinct:去除重复项

  Union:按顺序枚举第一个序列和第二个序列,第二个序列中与第一个序列中相同的不重复枚举

  Intersect:仅生产两个序列中都有的元素,取交集

  Except:出现在在第一个序列中并未出现在第二个序列中的所有元素,充第一个序列中剔除第二个序列中包含的所有元素

聚合操作符:

  Sum:求和

  Min:最小值

  Max:最大值

  Average:平均值

  Aggregate:累加

生成操作符:

  Range:

  Repeat:

量词操作符:

  Any:是否存在,存在返回True否则返回false

  All:是否所有项都满足筛选条件,所有元素都符合返回True否则返回False

  Contains:是否包含

分区操作符:

  Take:查询前N项,返回指定序列长度的值

  TakeWhile:

  Skip:

  SkipWhile:

元素操作符:

  First:

  FirstOrDefault:

  Last:

  LastOrDefault:

  Single:从元序列中选出一个特定的和唯一的项

  SingleOrDefault:

  ElementAt:从序列中抽取特定的项

  ElementAtOrDefault:

  DefaultOrEmpty:为空序列返回一个默认的元素,左外联接种,可以指定一个默认值来代替可能产生的空值

其他操作符:

  Contact:把一个序列追加到另一个序列中,串联

  SequenceEqual:将第一个序列中的每一项与第二个序列的对于项进行比较,如果两个序列项数量,内容,位置都相同则认为是相等

转换操作符:

  AsEnumerable:把源序列返回成IEnumerable<TSource>类型的对象

  ToList/ToArray:

  ToDictionary:操作符的第一个参数是KeySelector谓词,并作为键  .ToDictionary(c=>c.Name, c=>new{c.name, c.City});

  ToLookUp:

  OfType/Cast:筛选/转换源序列并生成TResult类型

  

时间: 04-22

Linq to Objects的相关文章

从LINQ开始之LINQ to Objects(上)

LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LINQ总共包括五个部分:LINQ to Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML.LINQ to Objects:对内存中集合的操作LINQ to DataSets:对数据集Datatable的操作LINQ to

从LINQ开始之LINQ to Objects(下)

前言 上一篇<从LINQ开始之LINQ to Objects(上)>主要介绍了LINQ的体系结构.基本语法以及LINQ to Objects中标准查询操作符的使用方法.本篇则主要讨论LINQ to Objects中的扩展方法以及延迟加载等方面的内容. 扩展方法 扩展方法简介 扩展方法能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或其他方式修改原始类型.扩展方法是静态方法,它是类的一部分,但实际没有放在类的源代码当中.下面,我们来看一个简单示例,为上一篇中定义的

LINQ to Objects系列(2)两种查询语法介绍

LINQ为我们提供了两种查询语法,分别是查询表达式和查询方法语法.这篇文章分为以下几个方面进行总结. 1,一个包含两种查询语法的简单示例 2,查询表达式的结构 3,查询方法相关的运算符 一个包含两种查询语法的简单示例 一个LINQ查询既可以使用查询表达式实现,也可以用查询方法实现,还可以同时组合两种查询.下面是一个简单的示例,代码如下. namespace LINQDemo3 { class Program { static void Main(string[] args) { int[] nu

LinQ To Objects 高级查询方法

什么是LinQ To Objects? 用一个例子解释,首先定义一个数组,查询数组中的最大值: int[] arr = { 123, 2, 3, 45, 654, 2324, 897, 56, 6554, 4, 3, 6, 8, 434 }; 旧的方法: int max=0 ; foreach(int a in arr) { if(a>=max) max=a; } Console.Write("最大值:"+ max); LinQ To Objects方法: Console.Wri

Linq之Linq to Objects

目录 写在前面 系列文章 linq to objects 总结 写在前面 上篇文章介绍了linq的延迟加载特性的相关内容,从这篇文章开始将陆续介绍linq to Objects,linq to xml,linq to sql等内容. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类 Linq之扩展方法 Linq之Expression初见 Linq之Expression进阶 Linq之Expression高级篇(常用表达式类

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 to Objects

查询表达式实际上是由编译器“预处理”为“普通”的C#代码,接着以完全普通的方式进行编译.这种巧妙的发式将查询集合到了语言中,而无须把语义改得乱七八糟 LINQ的介绍 LINQ中的基础概念 降低两种数据模型之间的阻抗失配过程中,遇到的一个问题就是,通常会涉及创建另一个模型来作为桥梁 序列 它通过IEnumerable和IEnumerable<T>接口进行封装 序列和其他集合数据结构最大的区别:当你从序列读取数据的时候,通常不知道还有多少数据项等待读取,或者不能访问任意的数据项——只能是当前这个

LINQ to Objects系列(1)相关技术准备

LINQ to Objects是LINQ的一部分,是查询对象集合的一种语法.首先看一下LINQ的体系结构,这样对LINQ有一个大致的了解.如图. 第一篇文章主要是回顾一下学习LINQ to Objects相关的基础知识,主要分为以下几个方面. 1,隐式类型局部变量 2,匿名类型 3,扩展方法 4,对象初始化器 5,集合初始化器 6,Lambda表达式 隐式类型局部变量 隐式类型局部变量,从名字中可以得出两层含义,一是隐式类型,即相对于显式类型(或称为强类型)而言的,指不需要指定具体类型,而是由右

Linq学习随笔一------LINQ to Objects

Linq是Language Integrated Query的简称,它是C# 3.0中新添加的,包含在微软.net framework 3.5,用以简化查询查询操作.它主要包含了3块,Linq to Object.Linq to SQL.Linq to XML,其中Linq to Object和对于对象的查询,Linq to XML则又提供了对XML格式数据的检索.设置等功能,Linq to SQL顾名思义就是针对SQL的功能. 一.LINQ to Objects The term "LINQ

近期Linq To Objects总结

Linq To Objects是基于C#3.0的扩展方法特性和更复杂的类型参数推断特性. 扩展方法能像目标类型的实例方法一样被调用,而且也能像实例方法一样被链起来,而C#3.0中的类型推断允许基于一个类型参数推断结果来推断另外一个类型参数,如果没有这两个特性,那么linq to objects估计会是另外一个样子. var result = from defect in SampleData.AllDefects select defect; 像这样的一个最简单linq表达式,C#编译器会先对表