LINQ Append Method في C#
شرح دالة Append() في LINQ
في هذا الدرس، سنتعرّف على كيفية استخدام دالة Append() لإضافة عنصر واحد إلى نهاية تسلسل من النوع IEnumerable<T>
، دون التأثير على التسلسل الأصلي.
تم تقديم الدالة في .NET Core 3.0 وهي متوفرة في .NET 5 وما بعده.
الصيغة العامة:
var result = source.Append(element);
source
: تسلسل البيانات الأساسي من النوعIEnumerable<T>
.element
: العنصر الذي سيتم إضافته في النهاية.result
: تسلسل جديد يحتوي على عناصرsource
بالإضافة إلىelement
.
مثال عملي:
List<string> names = new List<string> { "Mahmoud", "Sara", "Alaa" };
var result = names.Append("Noor");
foreach (var name in result)
{
Console.WriteLine(name);
}
النتيجة:
Mahmoud
Sara
Alaa
Noor
ملاحظات هامة:
- Append() لا تُعدّل المصدر الأصلي، بل تُنشئ تسلسلًا جديدًا.
- لتحويل الناتج إلى
List<T>
، استخدمToList()
:
var updatedList = names.Append("Noor").ToList();
مثال باستخدام أعداد صحيحة:
IEnumerable<int> numbers = new List<int> { 1, 2, 3 };
var result = numbers.Append(4);
foreach (var num in result)
{
Console.WriteLine(num);
}
النتيجة:
1
2
3
4
الفرق بين Append() و Add():
الجانب | Append() |
Add() (على List ) |
---|---|---|
يشتغل مع | IEnumerable<T> |
List<T> فقط |
يؤثر على الأصل؟ | ❌ لا | ✅ نعم |
كم عنصر؟ | عنصر واحد فقط | يمكن أكثر من عنصر |
التنفيذ | مؤجل (Deferred) | فوري (Immediate) |
استخدام عملي:
var baseQuery = GetData();
if (addPlaceholder)
{
baseQuery = baseQuery.Append("Select an option...");
}
هذا المثال يوضّح كيف يمكن استخدام Append()
لإضافة عنصر Placeholder لقائمة Dropdown.
تعليقات
إرسال تعليق