Linq
一.什么是LINQ:
即语言集成查询–用来查询一些操作类库
LINQ to Objects 用作对象的查询
LINQ to xml 用作XML的查询
LINQ to ADO.NET 用作数据库的查询
核心即为对数据源的操作
二.简单的应用
public static void Main(string[] args)
{
//数据源
List<Emploee> emploees = new List<Emploee>() {
new Emploee() { name="张三",age=13,address="天津市"},
new Emploee() { name="李四",age=14,address="北京市"},
new Emploee() { name="王五",age=15,address="成都市"}
};
//普通查询:
foreach (var item in emploees)
{
if (item.age <= 20)
{
Console.WriteLine($"{item.name},年龄:{item.age},地址为:{item.address}");
}
}
//LINQ查询之扩展方法
List<Emploee> emps = emploees.Where((x) => x.age < 20).ToList(); //查询出年纪小于20的员工
//LINQ查询之关键词的方式 完全等价与上面的
var list = from e in emploees
where e.age <= 20
select e;
}
自己实现一个LINQ查询方法:
public static List<Emploee> MyWhere(this List<Emploee> resource, Func<Emploee, bool> func)
{
var list = new List<Emploee>();
foreach (var item in resource)
{
if (func.Invoke(item))
{
list.Add(item);
}
}
return list;
}
这个整体实现起来也是很简单的主要就是对于lambda以及委托的应用,除了这个方法之外,扩展方法还有很多但是都是大同小异的,大家可以尝试着去使用,实践出真知!