¿Cómo combinar una lista de listas con el mismo tipo de elementos en una sola lista de artículos?

La pregunta es confusa, pero es mucho más clara como se describe en los siguientes códigos:

List<List> listOfList; // add three lists of List to listOfList, for example /* listOfList = new { { 1, 2, 3}, // list 1 of 1, 3, and 3 { 4, 5, 6}, // list 2 { 7, 8, 9} // list 3 }; */ List list = null; // how to merger all the items in listOfList to list? // { 1, 2, 3, 4, 5, 6, 7, 8, 9 } // one list // list = ??? 

¿No está seguro si es posible usando C # LINQ o Lambda?

Básicamente, ¿cómo puedo concatenar o ” aplanar ” una lista de listas?

Use el método de extensión SelectMany

 list = listOfList.SelectMany(x => x).ToList(); 

¿Quieres decir esto?

 var listOfList = new List>() { new List() { 1, 2 }, new List() { 3, 4 }, new List() { 5, 6 } }; var list = new List { 9, 9, 9 }; var result = list.Concat(listOfList.SelectMany(x => x)); foreach (var x in result) Console.WriteLine(x); 

Resultados en: 9 9 9 1 2 3 4 5 6

Aquí está la versión de syntax integrada de C #:

 var items = from list in listOfList from item in list select item;