C# 入门(15) LINQ(Language Integrated Query)
2017-05-04 10:51
561 查看
C#的LINQ
参考书籍: 《C#图解教程》官方文档: LINQ_MSDN
LINQ类似SQL查询方法。这东西用起来非常方便,而且可以简化许多代码。但也有缺点,很明显的就是效率没有传统的高,一个查询变量可以理解为一套查询方法,每次要用到具体查询结果时,就会调用一次查询方法(即便是同一个查询方法)。查询有方法查询(类似传统的查询)和查询语法(类似SQL语句),两种语法没有实质区别,但尽量使用查询语法,因为这才是他的迷人之处。
1 . 查询语法
查询变量
如果查询返回枚举,查询会到使用枚举的时候才执行。如果枚举被处理多次,查询就会执行多次。
枚举前改变数据,枚举结果也会相应改变。
如果查询返回标量(数值),查询会立即执行。
查询表达式
查询子句要按照一定顺序。![](http://img.my.csdn.net/uploads/201705/05/1493952696_5371.png)
查询关键字
msdn官方文档:查询关键字子句 | 说明 |
---|---|
from | 指定数据源和范围变量(类似于迭代变量)。 |
where | 根据一个或多个由逻辑“与”和逻辑“或”运算符分隔的布尔表达式筛选源元素。 |
select | 指定当执行查询时返回的序列中的元素将具有的类型和形式。 |
group | 按照指定的键值对查询结果进行分组。 |
into | 提供一个标识符,它可以充当对 join、group 或 select 子句的结果的引用。 |
orderby | 基于元素类型的默认比较器按升序或降序对查询结果进行排序。 |
join | 基于两个指定匹配条件之间的相等比较来联接两个数据源。 |
let | 引入一个用于存储查询表达式中的子表达式结果的范围变量。 |
in | join 子句中的上下文关键字。 |
on | join 子句中的上下文关键字。 |
equals | join 子句中的上下文关键字。 |
by | group 子句中的上下文关键字。 |
ascending | orderby 子句中的上下文关键字。 |
descending | orderby 子句中的上下文关键字。 |
2 . 方法语法
标准查询运算符
msdn官方文档:标准查询运算符《C#图解教程》P373
被查询的集合叫序列,序列是必须实现IEnumerable< T >接口)的。C# 入门(14) 枚举器(enumerator)和迭代器(iterator)
相关文章推荐
- Microsoft Language Integrated Query (LINQ) 从入门到精通
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第一章,第三节
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 目录
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第三章 (LINQ TO Objects) 第三节
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第一章,第二节
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第三章 (LINQ TO Objects) 第一节
- Microsoft Language Integrated Query (LINQ) 从入门到精通
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第一章,第一节
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第三章 (LINQ TO Objects) 第二节
- Microsoft Language Integrated Query (LINQ) 从入门到精通
- 【翻译】Pro LINQ Language Integrated Query in C# 2008 -- 第二章 部分内容
- LINQ,.NET语言级集成查询能力(.NET Language Integrated Query)
- LINQ,语言级集成查询(Language INtegrated Query)
- LINQ(Language Integrated Query)(1):简介
- C#-WebForm-LinQ(一)-LinQ:语言集成查询(Language Integrated Query)-增删改查、属性扩展
- LINQ,语言级集成查询(Language INtegrated Query)
- LINQ,语言级集成查询(Language INtegrated Query)
- LINQ,语言级集成查询(Language INtegrated Query)
- Pro LINQ: Language Integrated Query in C# 2008
- Language Integrated Query(LinQ)语言级集成查询