如何在 C# LINQ 中使用“not in”查询?


Except 运算符旨在允许你查询支持 IEnumerable<T< 接口的数据。由于所有 LINQ 查询表达式和大多数 LINQ 查询都返回 IEnumerable<T< ,因此这些运算符旨在允许你对 LINQ 查询的结果执行集合运算。

Except 运算符显示 одной 个列表中的所有项,减去第二个列表中的项

示例 1

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

示例 2

使用类似于 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

更新时间:05-11-2020

6K+ 浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告