LINQ Distinct Method

LINQ Distinct Method في C#


دالة Distinct() في LINQ تُستخدم لإزالة **العناصر المكررة** من أي مجموعة. بترجع مجموعة جديدة فيها **القيم الفريدة فقط**.



✅ مثال باستخدام أنواع رقمية:


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

var distinctNumbers = numbers.Distinct();

foreach (var num in distinctNumbers)
{
    Console.Write(num + " ");
}

📌 النتيجة: 1 2 3 4 5 6



✅ مثال باستخدام النصوص (Strings):


string[] names = { "Hina", "Anurag", "hina", "Sambit", "Anurag", "ABC", "abc" };

var distinctNames = names.Distinct();

foreach (var name in distinctNames)
{
    Console.WriteLine(name);
}

📌 النتيجة:
Hina
Anurag
hina
Sambit
ABC
abc



💡 ملاحظات هامة:

  • Distinct تستخدم المقارن الافتراضي للمساواة.
  • في حالة النصوص، هي حساسة لحالة الأحرف، فـ "Ali" ≠ "ali".
  • لو محتاج تجاهل حالة الأحرف، تقدر تستخدم Distinct(StringComparer.OrdinalIgnoreCase).


🧠 متى نستخدم Distinct؟

  • لو عايز تحذف التكرارات من أي قائمة.
  • لضمان القيم الفريدة في النتائج.
  • لتحسين الأداء وتقليل البيانات عند عرض تقارير أو قوائم.


تعليقات

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

C# - Arrays

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

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