int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
2 に答える
18
なぜでしょうか?ToList() は新しいリストを生成し、値「1」がそれに追加されます。戻り値を保存しないため、新しいリストはスコープ外になると破棄されます。
ToList() は、元の IEnumerable オブジェクト list1 を変更したり、新しい表現を提供したりしません (変更した場合、AsList() と呼ばれます)。
于 2009-01-05T03:01:33.413 に答える
1
必要がある :
int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
List<int> lst = list1.ToList();
lst.Add(1);
mylist = lst.ToArray();
于 2009-01-05T14:34:23.110 に答える