البرمجة

بحث LINQ في قوائم C# باستخدام قائمة فواكه محددة

عندما نتحدث عن البحث في مجموعة باستخدام LINQ في لغة البرمجة C#، يتيح لنا ذلك استخدام تعابير LINQ للعثور على النتائج المطلوبة بشكل فعال وبسيط. في هذا السياق، تقوم البحث في القائمة (menus) بناءً على الفواكه المتاحة (availableFruits). الهدف هو العثور على القوائم التي تحتوي على أي من الفواكه المحددة في availableFruits.

يمكن تحقيق ذلك باستخدام تعبير LINQ الذي يستخدم الدالة Any() لفحص ما إذا كان أي عنصر في الفاكهة المتاحة موجود في قائمة الفواكه لكل من القوائم. سأقوم بتقديم تعبير LINQ ينفذ هذا المطلوب:

csharp
var resultMenus = menus.Where(menu => menu.fruits.Any(fruit => availableFruits.Contains(fruit.name))).ToList();

في هذا التعبير، يتم استخدام Where() لتحديد القوائم التي تحتوي على عناصر متطابقة. داخل Where()، يتم استخدام Any() للتحقق مما إذا كان أي من الفواكه في القائمة موجود في availableFruits. يتم استخدام Contains() للتحقق من وجود الفاكهة في availableFruits.

النتيجة (resultMenus) ستكون قائمة بالقوائم التي تحتوي على أي من الفواكه المحددة في availableFruits. في هذه الحالة، ستكون القوائم ذات الهويات 0، 1، و3.

المزيد من المعلومات

في مثالك المقدم، يتم استخدام لغة البرمجة C# ومكتبة LINQ للبحث في مجموعة من القوائم (menus) بناءً على قائمة من الفواكه المتاحة (availableFruits). لفهم أفضل حول الكود وكيف يتم تحقيق البحث، يمكننا فحص الأكواد المستخدمة.

أولًا وقبل كل شيء، يتم تعريف كائن الفاكهة (Fruit) وكائن القائمة (Menu) في الكود. يتم تحديد هوية الفاكهة باستخدام خاصية Id واسم الفاكهة باستخدام خاصية name. بعد ذلك، يتم إنشاء قائمة من القوائم (menus)، وتعبئة هذه القوائم بكائنات الفواكه.

ثم يأتي جزء البحث الذي يستخدم LINQ. يتم استخدام الدالة Where() لتصفية القوائم واختيار تلك التي تحتوي على الفواكه المحددة. داخل الدالة Where()، يتم استخدام Any() للتحقق مما إذا كان أي عنصر في قائمة الفواكه للقائمة الحالية موجود في availableFruits.

نهاية السطر البرمجي تستخدم ToList() لتحويل النتيجة إلى قائمة نهائية (resultMenus). هذه القائمة ستحتوي على القوائم التي تم العثور عليها والتي تحتوي على أي من الفواكه المحددة.

هذا النهج يجمع بين مفهوم LINQ واستخدامه في البحث في مجموعات البيانات بطريقة فعالة وسهلة القراءة. يمكنك تخصيص هذا النهج واستخدامه في سياقات أخرى حيث يكون البحث في مجموعات البيانات ذو أهمية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر