ElementAt و ElementAtOrDefault في LINQ

LINQ ElementAt و ElementAtOrDefault

في هذا الدرس، سنتعلّم كيف نستخدم دالتي ElementAt و ElementAtOrDefault في LINQ، والمواقف المناسبة لاستخدام كلٍ منهما.



ما الفرق بين ElementAt و ElementAtOrDefault؟

الدالة تُعيد عنصر بناءً على الفهرس؟ لو الفهرس غير موجود النتيجة
ElementAt(index) Exception
ElementAtOrDefault(index) default للقيمة


مثال عملي:


List<string> names = new List<string>() { "Mahmoud", "Alaa", "Sara", "Noor" };

// ElementAt - فهرس صحيح
string name1 = names.ElementAt(2); // "Sara"
Console.WriteLine(name1);

// ElementAtOrDefault - فهرس غير موجود
string name2 = names.ElementAtOrDefault(10); // null
Console.WriteLine(name2 ?? "Not Found");


مثال باستخدام قائمة أرقام:


List<int> numbers = new List<int>() { 10, 20, 30, 40 };

Console.WriteLine(numbers.ElementAt(1));           // 20
Console.WriteLine(numbers.ElementAtOrDefault(10)); // 0


متى تستخدم كل واحدة؟

  • ✅ استخدم ElementAt() لو متأكد إن الفهرس موجود.
  • ✅ استخدم ElementAtOrDefault() لو فيه احتمال الفهرس يكون أكبر من حجم القائمة، وعايز تتجنب الاستثناء.


تعليقات

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

C# - Arrays

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

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