//查询表达式概述
//1.查询表达式用于查询并转换所有启用LINQ的数据源的数据。例如:通过一个查询即可检索sql数据库中的数据,并生成XML流作为输出。
//2.查询表达式的变量都是强类型。
//3.只要在循环访问变量后,才执行查询。
//LINQ简介
//1.c#可以为一下对象编写Linq查询:Sql Sever数据库,XML文档,ADO.NET数据集以及支持IEnumerable或者泛型IEnumerable<T>,接口的任何对象集合。
//LINQ查询简介(c#)
//查询是从数据源检索数据的表达式。Linq通过提供一种跨各种数据源和数据格式使用数据的一致模版。
//数据源
//如上面数据源是一个数组,因此她支持泛型IEnumerable<T>接口。
//查询还可以在返回信息之前对其进行分组,排序,结构化。 查询表达式分为三个子句,from where select
//在LINQ中,查询变量本身不执行任何操作并且不返回任何数据,他只是储存在以后摸个时刻为生成结果提供信息。
//延迟执行(这个可以这样理解,foreach之后在把结果输出出来,因为在循环中所以有个延迟)
//强制立即执行。(Count,Max,Average,First等函数,是因为查询本身使用foreach返回结果,因此这些查询在执行时不使用foreach语句)。
实例一:
//指定数据源
int[] scores = new int[] { 91, 92, 81, 60 };
//定义查询表达式
IEnumerable<int> scoresQuery = from score in scores
where score > 80
select score;
//执行查询
foreach (int i in scoresQuery)
{
Console.WriteLine(i+" ");
}
Console.ReadKey();
事例二:
//Linq查询的3个部分。
//数据源
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
//创建查询
var numQuery = from num in numbers
where (num % 2) == 0
select num;
//查询执行
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
Console.ReadKey();
示例三:(聚合函数)
int[] sores = new int[] { 0, 1, 2, 3, 4, 5, 6 };
//数据源
var everyNumQuery = from sore in sores
where (sore % 2) == 0
select sores;
//执行查询
int evenNumCount = everyNumQuery.Count();
//查询出结果
Console.Write(evenNumCount);
//输出
Console.ReadKey();
实例四:
网友评论