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>إذا كنت بحاجة إلى هيكل بيانات مرن حيث يمكن الإضافة والحذف بسهولة.
إذا عندك استخدام معين في بالك، ممكن أساعدك تختار الأفضل!
تعليقات
إرسال تعليق