Se eu tiver:
List<string> myList1;
List<string> myList2;
myList1 = getMeAList();
// Checked myList1, it contains 4 strings
myList2 = getMeAnotherList();
// Checked myList2, it contains 6 strings
myList1.Concat(myList2);
// Checked mylist1, it contains 4 strings... why?
Eu executei um código semelhante a esse no Visual Studio 2008 e defina pontos de interrupção após cada execução. Depois myList1 = getMeAList();
, myList1
contém quatro strings e pressionei o botão de adição para garantir que não fossem todos nulos.
Depois myList2 = getMeAnotherList();
, myList2
contém seis strings, e eu verifiquei para garantir que elas não fossem nulas ... Depois que myList1.Concat(myList2);
myList1 continha apenas quatro strings. Por que é que?