Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะใช้แบบสอบถาม "ไม่อยู่ใน" กับ C # LINQ ได้อย่างไร


ยกเว้นตัวดำเนินการได้รับการออกแบบมาเพื่อให้คุณสามารถสืบค้นข้อมูลที่รองรับอินเทอร์เฟซ IEnumerable

ตัวดำเนินการ ยกเว้น แสดงรายการทั้งหมดในรายการเดียวลบรายการในรายการที่สอง

ตัวอย่างที่ 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 ซึ่งไม่มีอยู่ใน listb

ผลลัพธ์

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