除运算符外,还允许您查询支持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