除运算符外,还允许您查询支持IEnumerable <T <接口的数据。由于所有LINQ查询表达式和大多数LINQ查询都返回IEnumerable <T <,因此这些运算符旨在允许您对LINQ查询的结果执行set操作。
Except运算符显示一个列表中的所有项目减去第二个列表中的项目
class Program{
static void Main(string[] args){
var listA = Enumerable.Range(1, 6);
var listB = new List<int> { 3, 4 };
var listC = listA.Except(listB);
foreach (var item in listC){
Console.WriteLine(item);
}
Console.ReadLine();
}
}在上面的示例中,我们有2个列表,并且仅从列表A中获取列表b中不存在的结果
输出结果
1 2 5 6
使用类似Sql的语法
static void Main(string[] args){
var listA = Enumerable.Range(1, 6);
var listB = new List<int> { 3, 4 };
var listC = from c in listA
where !listB.Any(o => o == c)
select c;
foreach (var item in listC){
Console.WriteLine(item);
}
Console.ReadLine();
}输出结果
1 2 5 6