سؤال

إذا أنا باستخدام ArrayList في C#.NET هو من أجل ضمان البقاء في نفس النظام انا إضافة عناصر إلى ذلك ؟

هل كانت مفيدة؟

المحلول

نعم، دائما إضافة عناصر إلى نهاية (ما لم يتم تحديد خلاف ذلك، على سبيل المثال مع دعوة إلى <لأ href = "http://msdn.microsoft.com/en-us/library/system.collections.arraylist. insert.aspx "يختلط =" noreferrer "> أدخل ). وبعبارة أخرى، إذا كنت تفعل:

int size = list.Count;
int index = list.Add(element);
Assert.AreEqual(size, index); // Element is always added at the end
Assert.AreEqual(element, list[index]); // Returned index is position in list

وسوف يتغير الموقف إذا قمت بإزالة أي العناصر السابقة أو إدراج عناصر جديدة قبل ذلك، بطبيعة الحال.

هل هناك أي سبب وجيه لتتمكن من استخدامها ArrayList بدلا من List<T> بالمناسبة؟ مجموعات غير الجنيسة <م> لذلك 2003 ...

و(النظام هو مستقر في List<T> كذلك، بالمناسبة).

نصائح أخرى

نعم، هو، ما لم يغير بعض قطعة من التعليمات البرمجية النظام من قبل على سبيل المثال مبادلة.

نعم هو.حيث يتم تخزينها كما صفيف.

خصائص أخرى هي

  • يضمن النظام
  • الوصول العشوائي.يمكنك الوصول إلى أي عنصر من مؤشر في س(1)
  • بطيئة إدراج وحذف في البداية و الوسط.
  • لم يتم فرزها.(الفرز يجب أن تأخذ O(n log n) باستخدام فرز سريع أو ما شابه)

نعم. [سخيفة حد طول الجواب]

وعند إضافة عنصر إلى ArrayList هذا البند سوف يبقى دائما في ذلك مؤشر. إلا بالطبع إذا كنت تغييره.

و(الإطار قد إعادة ترتيب الذاكرة ولكن سوف الفهرس الخاص بك البقاء دائما نفس)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top