2
int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
爲什麼會這樣? ToList()生成一個新的List,並將值'1'添加到它。由於您不存儲回報,新列表在超出範圍時會被拋出。 ToList()不改變原始的IEnumerable對象list1或給出一個新的表示(如果是的話,它將被稱爲AsList())。
你需要:
int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
List<int> lst = list1.ToList();
lst.Add(1);
mylist = lst.ToArray();
IEnumerable的 newList = list1.ToList()添加(1); //你想要的代碼 –
jrcs3
2009-01-05 03:05:51
這就像使用String.Replace()時常犯的第一個計時器錯誤。 – Kev 2009-01-05 04:08:11