LINQ Take Operator

شرح دالة Take() في LINQ

في هذا الدرس، سنتعرّف على كيفية استخدام دالة Take() في LINQ، والتي تُستخدم لاستخراج عدد محدد من العناصر من بداية تسلسل البيانات بطريقة بسيطة ومباشرة.



ما هي دالة Take()؟

دالة Take() هي واحدة من Partitioning Operators في LINQ، وتُستخدم لاختيار عدد معين من العناصر من بداية تسلسل (مثل List أو Array).



الصيغة العامة:


var result = data.Take(count);
  • data: المصدر مثل List أو Array.
  • count: عدد العناصر المراد أخذها من البداية.


مثال عملي:


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

var result = numbers.Take(3);

foreach (var number in result)
{
    Console.WriteLine(number);
}


الناتج:


10  
20  
30
تم أخذ أول 3 عناصر من القائمة.


ماذا لو طلبت عددًا أكبر من عدد العناصر؟


var result = numbers.Take(10); // القائمة تحتوي على 5 عناصر فقط


الناتج:


10  
20  
30  
40  
50
Take() لا ترمي استثناء، بل تُرجع كل العناصر الموجودة.


استخدام مع Where (شروط):


var result = numbers
    .Where(n => n > 15)
    .Take(2);
هنا بنأخذ أول عنصرين أكبر من 15.


استخدام Take مع Skip لعمل Pagination:


int pageNumber = 2;
int pageSize = 3;

var result = numbers
    .Skip((pageNumber - 1) * pageSize)
    .Take(pageSize);


الناتج:


40  
50
يعرض الصفحة الثانية، كل صفحة تحتوي على 3 عناصر.


متى تستخدم Take()؟

  • عند الحاجة إلى عدد معين فقط من النتائج.
  • في حالة عرض أول N نتيجة.
  • لتقليل كمية البيانات المعروضة أو المعالجة.


تعليقات

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

C# - Arrays

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

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