سؤال

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
هل كانت مفيدة؟

المحلول

لماذا يفعل ذلك؟ ToList () بإنشاء قائمة جديدة وقيمة "1" يحصل أضيفت إليه. وبما انك لا تخزين العودة، القائمة الجديدة ثم يحصل قذف عندما يكون خارج النطاق.

وToList () لا يغير list1 الكائن IEnumerable الأصلي أو إعطاء التمثيل الجديد (سوف يطلق عليه AsList () إذا فعلت).

نصائح أخرى

وتحتاج إلى:

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
List<int> lst = list1.ToList();
lst.Add(1);
mylist = lst.ToArray();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top