LINQ
LINQ(Language Integrated Query),即语言集成查询是一组用于C#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。
- LINQ的读法:lin k 很多人会误读为lin Q
- LINQ的全称:Language-Integrated Query,语言集成查询
- LINQ的关键词:from, select, in, where, group by, orderby, …
- LINQ的写法:
from 临时变量 in 实现IEnumerable<T>接口的对象
where条件表达式
[orderby 条件]
[group by 条件]
select 临时变量中被查询的值
- example:(表达式写法)
//masterList是包含多个Master对象的一个列表
var res = from m in masterList
where m.Level > 8
select m.Name;
//此时res是一个包含符合条件的Name列表
扩展方法
- example:(扩展方法写法)
static bool Test1(Master master)
{
if(master.Lever > 8)
return true;
return false;
}
var res = masterList.Where(Test1);
//此时res中包含的跟第一个example中的元素是完全相同的
- example:(采用Lambda表达式的写法)
var res = masterList.Where(m=>m.Level>8)
//结果完全相同
假如限制条件有多个
- example:(表达式写法)
//masterList是包含多个Master对象的一个列表
var res = from m in masterList
where m.Level > 8 && m.Age > 50 //通过&&添加并列的条件
select m.Name;
- example:(采用Lambda表达式的写法)
var res = masterList.Where(m=>m.Level > 8 && m.Age > 50);