Pergunta

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
list1.ToList().Add(1);
// why 1 does not get addedto list1??
Foi útil?

Solução

Por que seria? ToList () gera uma nova lista e o valor '1' é adicionado a ele. Desde que você não armazenar o retorno, a nova lista, então é jogado quando é fora do escopo.

ToList () não muda o list1 originais objeto IEnumerable ou dar uma nova representação (seria chamado asList () se ele fez).

Outras dicas

Você precisa:

int[] mylist = { 2, 4, 5 };
IEnumerable<int> list1 = mylist;
List<int> lst = list1.ToList();
lst.Add(1);
mylist = lst.ToArray();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top