LINQ是.NET设计者提供的一个从应用程序代码中查询数据的功能,叫做“语言集成查询”(Language Integrated Query, LINQ)。LINQ的语法和语义和SQL很像
LINQ对数据的要求是必须是可枚举的,具体使用什么数据结构不重要,例如可以用数组,Hash,Queue或其他任何集合类型。
using System.Linq
必不可少。
用LINQ其实就是使用其自带的很多方法,可以一个个地去看。但更方便的是使用查询操作符,更简单的使用LINQ功能
- 例如要获取数组中某个字段的全部值,比如获取每个客户的FirstName,使用查询操作符
from
和select
:
var customerNames = from cust in customers
select cust.FirstName;
from
操作符为来源集合定义别名,select
操作符利用该别名指定要获取的字段,结果是一个可枚举集合customerNames
类似的,可以使用以下语句来获取多个指定的字段:
var customerNames = from c in customers
select new{ c.FirstName, c.LastName};
- 如果要筛选数据,使用
where
操作符:
var customerIsMike = from c in customers
where String.Equals(c.FirstName, "Mike")
select new {c.FirstName, c.LastName};
- 如果要对数据排序,可以使用
orderby
操作符
var customerNames = from c in customers
orderby c.LastName
select c.LastName;
- 另外还有
groupby
,join
等不同操作符,具体在使用时可以查询手册了解方法
总体而言,LINQ是个非常方便的操作数据的功能,真实项目中也会经常使用,特别是对数据较多的项目,必须熟练掌握