Decir que tengo dos listas:¿Se pueden combinar varias listas con LINQ?
var list1 = new int[] {1, 2, 3};
var list2 = new string[] {"a", "b", "c"};
¿Es posible escribir una declaración de LINQ que generará la siguiente lista:
var result = new []{
new {i = 1, s = "a"},
new {i = 1, s = "b"},
new {i = 1, s = "c"},
new {i = 2, s = "a"},
new {i = 2, s = "b"},
new {i = 2, s = "c"},
new {i = 3, s = "a"},
new {i = 3, s = "b"},
new {i = 3, s = "c"}
};
?
Editar: Olvidé mencionar que no lo quería en la sintaxis de la consulta. De todos modos, en base a la respuesta de preetsangha Tengo el siguiente: Respuesta
var result = list1.SelectMany(i => list2.Select(s => new {i = i, s = s}));
¿Qué pasa con la sintaxis de la consulta? –
Sí, es extraño que selecciones la respuesta de Jon como la respuesta cuando preetsangha entró primero y tenía otra versión del mismo código (con el debido respeto a Jon). –
Si pudiera elegir los dos, lo haría. En cuanto a que no me gusta la sintaxis de las consultas, simplemente no me gusta. Se siente mal, ya que no encaja con C# y no todas las cosas nuevas en LINQ están disponibles en sintaxis de consulta, como ToList() etc. –