LINQ的基础语法

            

LINQ概述:


1.语言集成查询 (LINQ)在对象领域和数据领域之间架起了一座桥梁。
2.编译时进行类型检查和 IntelliSense 支持。
3.C# 为以下各种数据源编写 LINQ 查询:SQL Server 数据库、XML 文档、ADO.NET 数据集以及支持 IEnumerable 或泛型 IEnumerable<(Of <(T>)>) 接口的任意对象集合。


var关键字


隐式类型的本地变量。
1.是强类型变量。
2.由编译器确定类型。
3.过多使用 var 可能使源代码的可读性在他人眼里变差。建议仅在必要时使用 var。


查询表达式的基础



1.查询变量:查询变量并不存储实际的结果数据(这些数据是在 foreach 循环中产生的)。
2.var 关键字指示编译器在编译时推断查询变量(或任何其他本地变量)的类型。
3.范围变量:范围变量表示源序列中的每个后续元素。将根据数据源中元素的类型对范围变量进行强类型化。
4.where子句:使用熟悉的 C# 逻辑 AND 和 OR 运算符where city.area > 100 && city.name.Contains("a")


演示:对一个int数组,如何使用where语句筛选出所有小于10的偶数


where子句:可以包含一个或多个返回布尔值的方法
var queryEvenNums = 
from num in numbers 
where IsEven(num) 【IsEven(num)表示自定义的判断是否是奇数的函数】
select num;




orderby子句:使用熟悉的 C# 逻辑 AND 和 OR 运算符
默认排序顺序为升序( ascending ),降序用 descending关键字
orderby student.Last ascending, student.First ascending




Select子句:可以使用 select 子句将源数据转换为新类型的序列(匿名类)
var queryNameAndPop = from country in countries select new { Name = country.Name, Pop = country.Population }; 




LINQ的扩展方法
1.查看IEnumerable 有哪些方式。
2.增加命名空间using System.Linq ,看增加了哪些方法。


为string定义扩展方法(静态类的静态方法)





扩展方法:Where


扩展方法Where:对查询结果进行筛选


扩展方法Count:对查询结果记录数
int[] p = { 34, 54, 23,45 };
var x = from v in p
where v > 20
select v;
Console.WriteLine(x.Count());


扩展方法Max:对查询结果最大值
int[] p = { 34, 54, 23,45 };
var x = from v in p
where v > 20
select v;
Console.WriteLine(x.Max());


扩展方法Select:对查询出来的结果做一些转换


上一篇:DRP分销解决方案... 下一篇:OA系统个性化定制解决方案...