LINQ Skip Method
شرح دالة Skip() في LINQ
في هذا الدرس، سنتعرّف على كيفية استخدام دالة Skip()، والتي تُستخدم لتجاوز عدد معين من العناصر من بداية تسلسل البيانات، ثم تُرجع الباقي كما هو.
ما هي دالة Skip()؟
دالة Skip()
هي واحدة من دوال Partitioning Operators في LINQ، وتُستخدم لتجاوز عدد معين من العناصر من البداية.
الصيغة العامة:
var result = collection.Skip(n);
n
: عدد العناصر التي تريد تخطيها من البداية.
مثال عملي:
List<int> numbers = new List<int>() { 10, 20, 30, 40, 50 };
var result = numbers.Skip(2);
foreach (var number in result)
{
Console.WriteLine(number);
}
الناتج:
30
40
50
تم تخطي أول عنصرين (10 و 20)، ثم عرض باقي العناصر كما هي.
إذا تم تخطي أكثر من عدد العناصر:
var result = numbers.Skip(10); // القائمة تحتوي فقط على 5 عناصر
الناتج:
(فارغ – لن يتم طباعة أي شيء)
استخدام Skip مع Take (لتنفيذ Paging):
int pageNumber = 2;
int pageSize = 3;
var pagedResult = numbers
.Skip((pageNumber - 1) * pageSize)
.Take(pageSize);
foreach (var number in pagedResult)
{
Console.WriteLine(number);
}
هذا النمط يُستخدم بكثرة في تقسيم البيانات إلى صفحات، مثل عرض 3 عناصر في كل صفحة.
ملاحظات مهمة:
Skip()
لا يُعدل البيانات الأصلية، بل يُرجع تسلسل جديد بعد التجاوز.- لو كنت محتاج شرط بدل عدد → استخدم
SkipWhile()
.
الفرق بين Skip و SkipWhile:
الدالة | تعتمد على | السلوك |
---|---|---|
Skip(n) |
عدد | يتجاهل أول n عناصر ويرجع الباقي |
SkipWhile(condition) |
شرط | يتجاهل العناصر طالما الشرط محقق |
تحب أجهزلك كود Blazor أو Razor Pages يعرض صفحة من جدول عملاء باستخدام Skip
و Take
؟ مفيد جدًا في حالات عرض البيانات بشكل جزئي حسب رقم الصفحة.
تعليقات
إرسال تعليق