您的位置:首页 > 产品设计 > UI/UE

C# 入门(15) LINQ(Language Integrated Query)

2017-05-04 10:51 561 查看

C#的LINQ

参考书籍: 《C#图解教程》

官方文档: LINQ_MSDN

  LINQ类似SQL查询方法。这东西用起来非常方便,而且可以简化许多代码。但也有缺点,很明显的就是效率没有传统的高,一个查询变量可以理解为一套查询方法,每次要用到具体查询结果时,就会调用一次查询方法(即便是同一个查询方法)。查询有方法查询(类似传统的查询)和查询语法(类似SQL语句),两种语法没有实质区别,但尽量使用查询语法,因为这才是他的迷人之处。

1 . 查询语法

查询变量

如果查询返回枚举,查询会到使用枚举的时候才执行。

如果枚举被处理多次,查询就会执行多次。

枚举前改变数据,枚举结果也会相应改变。

如果查询返回标量(数值),查询会立即执行。

查询表达式

  查询子句要按照一定顺序。



查询关键字

msdn官方文档:查询关键字

子句说明
from指定数据源和范围变量(类似于迭代变量)。
where根据一个或多个由逻辑“与”和逻辑“或”运算符分隔的布尔表达式筛选源元素。
select指定当执行查询时返回的序列中的元素将具有的类型和形式。
group按照指定的键值对查询结果进行分组。
into提供一个标识符,它可以充当对 join、group 或 select 子句的结果的引用。
orderby基于元素类型的默认比较器按升序或降序对查询结果进行排序。
join基于两个指定匹配条件之间的相等比较来联接两个数据源。
let引入一个用于存储查询表达式中的子表达式结果的范围变量。
injoin 子句中的上下文关键字。
onjoin 子句中的上下文关键字。
equalsjoin 子句中的上下文关键字。
bygroup 子句中的上下文关键字。
ascendingorderby 子句中的上下文关键字。
descendingorderby 子句中的上下文关键字。

2 . 方法语法

标准查询运算符

msdn官方文档:标准查询运算符

《C#图解教程》P373

被查询的集合叫序列,序列是必须实现IEnumerable< T >接口)的。C# 入门(14) 枚举器(enumerator)和迭代器(iterator)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: