Question

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
Était-ce utile?

La solution

Pourquoi le ferait-il? ToList () génère une nouvelle liste et la valeur '1' y est ajoutée. Étant donné que vous ne stockez pas le retour, la nouvelle liste est lancée lorsqu'elle est hors de portée.

ToList () ne modifie pas la liste d'objet IEnumerable d'origine1 ni ne donne une nouvelle représentation (elle s'appellerait AsList () si c'était le cas).

Autres conseils

Vous devez:

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
List<int> lst = list1.ToList();
lst.Add(1);
mylist = lst.ToArray();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top