Append() في LINQ
شرح دالة Append() في LINQ
دالة Append() في LINQ تُستخدم لإضافة عنصر واحد إلى نهاية تسلسل من النوع IEnumerable<T>
دون تعديل المصدر الأصلي. تم تقديمها في .NET Core 3.0 وتتوفر في .NET 5 والإصدارات الأحدث.
الصيغة العامة:
IEnumerable<TSource> updatedSequence = originalSequence.Append(newElement);
originalSequence
: التسلسل الأصلي من النوعIEnumerable<TSource>
.newElement
: العنصر المراد إضافته في نهاية التسلسل.
مثال عملي:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// قائمة من الأعداد الصحيحة
List<int> numbers = new List<int> { 1, 2, 3, 4 };
// إضافة الرقم 5 إلى نهاية القائمة باستخدام Append()
var updatedNumbers = numbers.Append(5);
Console.WriteLine("القائمة الأصلية:");
foreach (var num in numbers)
{
Console.Write($"{num} ");
}
Console.WriteLine("\nالقائمة بعد استخدام Append():");
foreach (var num in updatedNumbers)
{
Console.Write($"{num} ");
}
}
}
الناتج:
القائمة الأصلية:
1 2 3 4
القائمة بعد استخدام Append():
1 2 3 4 5
ملاحظات:
Append()
لا تُعدّل التسلسل الأصلي، بل تُعيد تسلسلًا جديدًا.- لتحويل التسلسل الجديد إلى
List<T>
، استخدمToList()
:
List<int> updatedList = numbers.Append(5).ToList();
مقارنة بين Append() و Add():
الميزة | Append() |
Add() |
---|---|---|
التأثير على الأصل | ❌ لا يغيّر الأصل | ✅ يغيّر القائمة الأصلية |
نوع البيانات | IEnumerable<T> |
List<T> |
طريقة التنفيذ | تنفيذ مؤجل (Deferred) | تنفيذ فوري (Immediate) |
استخدامات عملية:
- إضافة عنصر إلى تسلسل دون التعديل على الأصل.
- مفيد في البرمجة الوظيفية لتجنب تعديل البيانات الأصلية.
ملاحظات إضافية:
- كل استدعاء لـ
Append()
يُنشئ نسخة جديدة من التسلسل. - لإضافة عناصر متعددة، استخدم
Concat()
أوAddRange()
بعد تحويل التسلسل إلى قائمة.
مثال على استخدام Concat() لإضافة عدة عناصر:
var updatedNumbers = numbers.Concat(new[] { 5, 6, 7 });
تعليقات
إرسال تعليق