Avatar ·

Как в C# с помощью LINQ получить элементы из одного списка, которых нет в другом списке?

```html الجميع مرحباً! أنا مطور C# مبتدئ، واجهت مشكلة أثناء العمل مع المجموعات. يوجد لدي قائمتان من الكائنات من نفس النوع. لنفترض أن لدي كلاس Product يحتوي على الحقول Id و Name. القائمة الأولى (listA) تحتوي على جميع المنتجات من قاعدة البيانات، والقائمة الثانية (listB) هي قائمة المنتجات التي اختارها المستخدم بالفعل للطلب. أحتاج إلى الحصول على قائمة ثالثة (listC) تحتوي فقط على المنتجات من listA غير الموجودة في listB. حاولت استخدام حلقة foreach والتحقق من Contains، لكن ذلك يبدو مرهقاً وغير أنيق. بالإضافة إلى ذلك، عندما تكون القوائم كبيرة، يعمل هذا الكود ببطء. سمعت أن LINQ يسمح بعمل مثل هذه الأمور بأناقة وسرعة. أرشدوني كيف أكتب الاستعلام بشكل صحيح للحصول على العناصر غير الموجودة في القائمة الثانية؟ المهم أن تكون المقارنة بواسطة Id، لأن Name قد يتكرر. مثال على هيكل بياناتي: List listA = new List { new Product { Id = 1, Name = "Молоко" }, new Product { Id = 2, Name = "Хлеб" } }; ```