C#中的LINQ简介

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);

猜你喜欢

转载自blog.csdn.net/lym940928/article/details/80278783