質問

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
役に立ちましたか?

解決

なぜだろうか? ToList()は新しいリストを生成し、値「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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top