C# - Array vs List

 

الفرق بين Array و List في C# يكمن في عدة جوانب مثل الأداء، المرونة، وإمكانية تغيير الحجم. إليك التفاصيل:

1. الـ Array (T[]):

  • حجم ثابت: عند إنشاء مصفوفة (Array) يجب تحديد حجمها مسبقًا، ولا يمكن تغييره بعد الإنشاء.
  • أداء أسرع: لأن البيانات مخزنة في الذاكرة بشكل متجاور، مما يجعل الوصول إلى العناصر أسرع من List<T> في بعض الحالات.
  • لا تحتوي على وظائف متقدمة: مثل Add, Remove, Insert، ولكن يمكن تعديل القيم باستخدام الفهارس [index].
  • مثال:
    int[] numbers = new int[3] { 1, 2, 3 };
    Console.WriteLine(numbers[0]); // 1
    

2. الـ List (List<T>):

  • حجم متغير: يمكن إضافة وحذف العناصر بسهولة دون الحاجة إلى إعادة إنشاء القائمة.
  • أداء أقل قليلاً في بعض الحالات: لأنها تستخدم مصفوفة داخلية، وعند امتلائها يتم إنشاء مصفوفة جديدة أكبر ونقل العناصر إليها، مما يؤدي إلى تكلفة إضافية عند النمو.
  • توفر وظائف متقدمة: مثل Add, Remove, Insert, Contains, Find, وغيرها.
  • مثال:
    List<int> numbersList = new List<int> { 1, 2, 3 };
    numbersList.Add(4); // يمكن الإضافة بسهولة
    numbersList.Remove(2); // حذف عنصر معين
    Console.WriteLine(numbersList.Count); // 3
    

متى تستخدم كل منهما؟

الخلاصة:

  • استخدم Array إذا كنت تعرف عدد العناصر مسبقًا وتحتاج إلى أداء عالٍ في الوصول إلى البيانات.
  • استخدم List<T> إذا كنت بحاجة إلى هيكل بيانات مرن حيث يمكن الإضافة والحذف بسهولة.

إذا عندك استخدام معين في بالك، ممكن أساعدك تختار الأفضل!

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

HTML - ملخص شامل لأهم التاجات

HTML - Youtube videos تضمين فيديوهات اليوتيوب