LINQ Repeat Method في C#
شرح دالة Repeat() في LINQ
في هذا الدرس، سنتعرّف على دالة Repeat() في LINQ، والتي تُستخدم لتوليد تسلسل يحتوي على نفس العنصر مكررًا عدة مرات.
تُعد `Repeat()` من دوال توليد البيانات (Generation Operators) مثل Range()
، وتُستخدم في الكثير من السيناريوهات العملية.
الصيغة العامة:
IEnumerable<T> result = Enumerable.Repeat<T>(T element, int count);
element
: العنصر الذي سيتم تكراره.count
: عدد مرات التكرار.
ملاحظة: إذا كانت القيمةcount < 0
سيتم إطلاق استثناء من نوعArgumentOutOfRangeException
.
مثال 1: تكرار رقم معين
using System;
using System.Linq;
class Program
{
static void Main()
{
var repeatedNumbers = Enumerable.Repeat(5, 4);
foreach (var num in repeatedNumbers)
{
Console.WriteLine(num);
}
}
}
الناتج:
5
5
5
5
مثال 2: تكرار قيمة نصية
var repeatedWords = Enumerable.Repeat("DotNet", 3);
foreach (var word in repeatedWords)
{
Console.WriteLine(word);
}
الناتج:
DotNet
DotNet
DotNet
مثال 3: استخدام Repeat لتوليد بيانات افتراضية
var defaultUsers = Enumerable.Repeat("Guest", 5).ToList();
foreach (var user in defaultUsers)
{
Console.WriteLine(user);
}
تخصيص القيم باستخدام Select:
var guests = Enumerable.Repeat("Guest", 3)
.Select((value, index) => $"{value} {index + 1}");
foreach (var guest in guests)
{
Console.WriteLine(guest);
}
الناتج:
Guest 1
Guest 2
Guest 3
ملاحظات مهمة:
Repeat()
تُستخدم بكثرة في:- تهيئة بيانات مبدئية.
- إنشاء بيانات تجريبية (Mock Data).
- ملء Dropdown أو جدول بقيم placeholder.
- تُنفذ باستخدام التنفيذ المؤجل (Deferred Execution)، أي لا يتم تنفيذها إلا عند التكرار الفعلي.
تعليقات
إرسال تعليق