Linq查询语法与拓展方法

概念:语言集成查询(Language Integrated Query,Linq)在C#中集成了查询语法,可以用相同的语法访问不同的数据源。Linq提供了不同数据源的抽象层,所以可以使用相同的语法。

并不是所有的查询都可以用Linq查询语法完成。也不是所有的拓展方法都映射到Linq查询子句上。高级查询需要使用拓展方法。

Linq有两种语法风格:

  1. 查询语法(Query Syntax)”,这种语法格式类似于SQL查询。
  2. 点语法(Dot-nontation Syntax)”,这种语法是基于拓展方法的。

“查询语法”的格式:查询表达式必须以from开头,以select或group结束。在这两个子句中间可以使用where,orderby,join,let和其他from子句。

Linq有的方法有延迟的特性,这个特性的效果是直到对结果进行遍历,才会执行该查询。

拓展方法

描述

延迟

All

如果数据源的所有条目都与谓词匹配,则返回true

Any

如果数据源至少有一个条目与谓词匹配,则返回true

Contains

如果数据源包含指定的条目或值,返回true

Count

返回数据源的条目数

First

返回数据源的第一个条目

FirstOrDefault

返回数据源的第一个条目,或无条目时,返回默认值

Last

返回数据源最后一个条目

LastOrDefault

返回数据源最后一个条目,或无条目时,返回默认值

Max或Min

返回由Lamdba表达式表示的最大值或最小值

OrderBy

OrderByDesceding

基于Lambda表示式返回值对数据源进行排序

Reverse

反转数据源中数据项的顺序

Select

设计一个查询结果

SelectMany

把每个数据项投射到一个条目序列中,然后把所有的这些结果序列连接成一个序列

Single

返回数据源第一个条目,或者有多个匹配时抛出异常

SingleOrDefault

返回数据源第一个条目,或无条目时,返回默认值;有多个条目匹配时,抛出一个异常

Skip

SkipWhile

跳过指定数目的元素,或者当谓词匹配时跳过

Sum

对谓词选定的词求和

Take

TakeWhile

从数据源的开始处选择指定数目的元素,或当谓词匹配时选择条目

ToArray

ToDictionary

ToList

把数据源转成数组,字典,列表

Where

过滤数据源中与谓词不匹配的条目

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值