C—LINQ小结
Posted dlvguo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C—LINQ小结相关的知识,希望对你有一定的参考价值。
LINQ代表语言集成查询(Language-Integrated Query),它包括用于从数据源检索信息的一组功能。数据检索是许多程序的重要组成功能。
简介:System.Linq;
var numPos=from n in x
where n(条件)
select 选择;
排序:使用orderby关键字排序 ascending(升序默认一般不加)desending(降序)
orderby+变量+关键字
如果有多个变量需要排序则 orderby +变量关键字+变量关键字按顺序来排。
select选择:
select能获取任何类型元素,可以选择部分也可以选择new对象。
from:可以多个来嵌套配合、select选择。
分组:group 需要分配元素 by 分组的依据 key。foreach 首先获得的是key,key中在包含元素。
into延续:在使用select或group子句时,有时我们会希望生成临时结果,随后查询这部分查询结果,而保存需要的结果。该操作称为延续。
例:
var webAdress =from addr in websites
where addr.LastIndexOf(“.”)!=-1
group addr by addr… into ws
where ws.count()>2
select ws;
let创建变量:可用let创建一个可枚举数据源。
例:
var chars=from str I strs
let h=str。。。
from hh in h。。。
join子句连接俩个序列:
from range-varA in data-sourceA
join range-varB in data-sourceB
on range-varA.property equals range-varB.property
select(俩个变量都可用)
匿名类型:没有名称的类,主要用途为创建select和join on选择的对象也是一个匿名类型。
查询方法:使用方法创建查询,用Lambda表达式。
例:
int []nums ={1,-2,3,0,-4,5};
var posNum =nums.Where(n => n>0).Select(r => r);
俩种方式最终会相同,因此自然会引发如下的问题:哪种方式合适最适于C#程序?答案如下:一般来说,您会希望使用查询语法。查询语法与C#语言完全集成,通过关键字和语法获得支持,并且更为清晰易懂。
以上是关于C—LINQ小结的主要内容,如果未能解决你的问题,请参考以下文章