LINQ基础之Intersect、Except和Distinct子句
作者:農碼一生
这篇文章介绍了LINQ使用Intersect、Except和Distinct子句的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Intersect子句
一、简介
Intersect返回交集,交集是指同时出现在两个集合中的元素,和数据库中的Intersect方法实现功能一样。
二、案例
var q = (from c in db.Customers select c.Age ).Intersect( from e in db.Employees select e.Age );
Except子句
一、简介
Except返回差集,差集是指位于一个集合但不位于另一个集合的元素。Except是把第一个集合里面的数据 去掉在第二个集合里面出现过的数据。
二、案例
案例一:
var q = (from c in db.Customers select c.Name ).Except(from e in db.Employees select e.Name );
案例二:
//1 2 这两条记录 var q1 = from s in db.Student where s.ID < 3 select s; //1 2 3 4 这四条记录 var q2 = from s in db.Student where s.ID < 5 select s; var r = q1.Except(q2).ToList();// 空 var r2 = q2.Except(q1).ToList();//3 4
Distinct子句
一、简介
Distinct返回的序列包含输入序列的唯一元素,该语句是单个集合操作。
二、案例
List<int> list = new List<int>() {1,2,3,3,3}; var result = list.Distinct();
Result的结果为:{1,2,3}
到此这篇关于LINQ使用Intersect、Except和Distinct子句的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。