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

xiaoxiao2021-02-27  345

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)
转载请注明原文地址: https://www.6miu.com/read-1648.html

最新回复(0)