سؤال
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();
لا تنتمي إلى StackOverflow