LINQ Intersect Method

LINQ Intersect Method


دالة Intersect() في LINQ تُستخدم للحصول على **العناصر المشتركة بين تسلسلين (Collections)**. يعني ترجع القيم اللي موجودة في المجموعتين فقط.



✅ مثال باستخدام Method Syntax:


List<int> list1 = new List<int>() { 1, 2, 3, 4, 5 };
List<int> list2 = new List<int>() { 3, 5, 6, 7 };

var result = list1.Intersect(list2);

foreach (var item in result)
{
    Console.Write(item + " ");
}

📌 النتيجة: 3 5



✅ مثال باستخدام Query Syntax:


var result = (from item in list1
              select item).Intersect(list2);

foreach (var item in result)
{
    Console.Write(item + " ");
}


💡 خصائص مهمة:

  • ترجع العناصر المشتركة فقط.
  • تُزيل التكرارات: كل قيمة مشتركة تظهر مرة واحدة بس.
  • تستخدم Default Equality Comparer.
  • تدعم التنفيذ المؤجل (Deferred Execution).


🛠️ متى تستخدم Intersect؟

  • لما يكون عندك قائمتين وعايز تشوف العناصر اللي في الاتنين.
  • في حالات التحقق أو التقارير اللي بتقارن بيانات من مصدرين.
  • عند تصفية مجموعة بناءً على عناصر مجموعة أخرى.


🧠 ملاحظات:

  • لو واحدة من القائمتين فاضية → النتيجة هتكون فاضية.
  • لو فيه تكرار في القائمتين → النتيجة بتشمل القيمة مرة واحدة فقط.


تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework