البرنامج التعليمي لـ C# ArrayList مع أمثلة
ما هو ArrayList في C #؟
تشبه مجموعة ArrayList نوع بيانات Arrays في C#. الاختلاف الأكبر هو الطبيعة الديناميكية لمجموعة قائمة المصفوفة.
بالنسبة للمصفوفات، تحتاج إلى تحديد عدد العناصر التي يمكن للمصفوفة أن تحتوي عليها في وقت إعلان المصفوفة. ولكن في حالة مجموعة Array List، لا يلزم القيام بذلك مسبقًا. يمكن إضافة عناصر أو إزالتها من مجموعة Array List في أي وقت. دعنا نلقي نظرة على العمليات المتاحة لمجموعة Array List بمزيد من التفصيل.
إعلان قائمة المصفوفة
يتم توفير إعلان ArrayList أدناه. يتم إنشاء قائمة مصفوفة بمساعدة نوع بيانات ArrayList. يتم استخدام الكلمة الأساسية "جديدة" لإنشاء كائن من قائمة ArrayList. ثم يتم تعيين الكائن إلى المتغير a1. والآن سيتم استخدام المتغير a1 للوصول إلى العناصر المختلفة لقائمة المصفوفات.
ArrayList a1 = new ArrayList()
إضافة عناصر إلى المصفوفة
يتم استخدام طريقة الإضافة لإضافة عنصر إلى ArrayList. يمكن استخدام طريقة الإضافة لإضافة أي نوع من عناصر نوع البيانات إلى قائمة المصفوفات. لذا يمكنك إضافة عدد صحيح، أو سلسلة، أو حتى قيمة منطقية إلى قائمة المصفوفات. ويرد أدناه بناء الجملة العام لطريقة الإضافة
ArrayList.add(element)
فيما يلي بعض الأمثلة لكيفية استخدام طريقة "الإضافة". يمكن استخدام طريقة الإضافة لإضافة أنواع بيانات مختلفة إلى مجموعة قائمة المصفوفات.
يمكنك أدناه رؤية أمثلة لكيفية إضافة سلاسل Integer وحتى القيم المنطقية إلى مجموعة Array List.
- a1.add(1) - سيؤدي هذا إلى إضافة قيمة عددية إلى المجموعة
- a1.add("مثال") - سيؤدي هذا إلى إضافة قيمة سلسلة إلى المجموعة
- a1.add(true) - سيؤدي هذا إلى إضافة قيمة منطقية إلى المجموعة
الآن دعونا نرى هذا يعمل على مستوى الكود. ستتم كتابة كافة التعليمات البرمجية المذكورة أدناه إلى تطبيق وحدة التحكم لدينا. ستتم كتابة الكود في ملف Program.cs الخاص بنا.
في البرنامج أدناه، سنكتب الكود لإنشاء قائمة مصفوفات جديدة. سنعرض أيضًا كيفية إضافة عناصر وعرض عناصر قائمة المصفوفات.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
شرح الكود :-
- يتم استخدام الخطوة الأولى للإعلان عن قائمة المصفوفات الخاصة بنا. نعلن هنا عن a1 كمتغير للاحتفاظ بعناصر قائمة المصفوفات الخاصة بنا.
- نستخدم بعد ذلك الكلمة الأساسية add لإضافة الرقم 1 والسلسلة "مثال" والقيمة المنطقية "صحيح" إلى قائمة المصفوفات.
- نستخدم بعد ذلك طريقة Console.WriteLine لعرض قيمة كل عنصر يسرد المصفوفة على وحدة التحكم. ستلاحظ أنه تمامًا مثل المصفوفات، يمكننا الوصول إلى العناصر عبر مواضع الفهرس الخاصة بها. لذا، للوصول إلى الموضع الأول في قائمة المصفوفات، نستخدم موضع الفهرس [0]. وهلم جرا وهكذا دواليك.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تشغيل البرنامج، فسيتم عرض الإخراج التالي.
الإخراج:
من الإخراج، يمكنك أن ترى أن كافة العناصر من قائمة المصفوفة يتم إرسالها إلى وحدة التحكم.
دعونا نلقي نظرة على بعض الطرق الإضافية المتوفرة كجزء من ArrayList.
العد التنازلي
يتم استخدام هذه الطريقة للحصول على عدد العناصر الموجودة في مجموعة ArrayList. وفيما يلي بناء الجملة العام لهذا البيان.
ArrayList.Count() - ستعيد هذه الطريقة عدد العناصر التي تحتوي عليها قائمة المصفوفة.
يحتوي
يتم استخدام هذه الطريقة لمعرفة ما إذا كان هناك عنصر موجود في مجموعة ArrayList. وفيما يلي بناء الجملة العام لهذا البيان
ArrayList.Contains(element) – ستُرجع هذه الطريقة صحيحًا إذا كان العنصر موجودًا في القائمة، وإلا فإنها ستعيد خطأ.
إزالة في
يتم استخدام هذه الطريقة لإزالة عنصر في موضع محدد في مجموعة ArrayList. وفيما يلي بناء الجملة العام لهذا البيان
ArrayList.RemoveAt(index) - ستقوم هذه الطريقة بإزالة عنصر من موضع معين في قائمة المصفوفات.
الآن دعونا نرى هذا يعمل على مستوى الكود. ستتم كتابة كافة التعليمات البرمجية المذكورة أدناه إلى تطبيق وحدة التحكم لدينا. ستتم كتابة الكود في ملف Program.cs الخاص بنا.
في البرنامج أدناه، سنكتب الكود لنرى كيف يمكننا استخدام الطرق المذكورة أعلاه.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
شرح الكود :-
- لذا فإن الخاصية الأولى التي نراها هي خاصية الكونت. نحن نحصل على خاصية Count لقائمة المصفوفة a1 ثم نكتبها إلى وحدة التحكم.
- في الجزء الثاني، نستخدم الأسلوب يحتوي على معرفة ما إذا كانت ArrayList a1 تحتوي على العنصر 2. ثم نكتب النتيجة إلى وحدة التحكم عبر أمر Writeline.
- أخيرًا، لعرض طريقة إزالة العنصر، نقوم بالخطوات التالية:
- أولاً، نكتب قيمة العنصر في موضع الفهرس 1 من قائمة المصفوفات إلى وحدة التحكم.
- ثم نقوم بإزالة العنصر الموجود في موضع الفهرس 1 من قائمة المصفوفات.
- أخيرًا، نكتب مرة أخرى قيمة العنصر في موضع الفهرس 1 من قائمة المصفوفات إلى وحدة التحكم. ستعطي مجموعة الخطوات هذه فكرة جيدة عما إذا كانت طريقة الإزالة ستعمل كما ينبغي.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تشغيل البرنامج، فسيتم عرض الإخراج التالي.
الإخراج:
لماذا القيمة الأخيرة صحيحة؟
إذا رأيت تسلسل الأحداث، فسيتم إزالة العنصر مثال من المصفوفة لأنه موجود في الموضع 1. ثم يتم استبدال الموضع 1 من المصفوفة بما كان في الموضع 2 سابقًا والذي تكون القيمة "صحيحة"
الملخص
يتم استخدام مجموعة Array List لتخزين مجموعة من العناصر. ميزة مجموعة قائمة Array هي أنها ديناميكية. يمكنك إضافة وإزالة العناصر بسرعة إلى مجموعة قائمة المصفوفة.