Quiero añadir dos listas de un tipo numérico tal que addedList [x] = LISTONE [x] + listTwo [x]¿Cómo agrego dos listas en Linq así que addedList [x] = listOne [x] + listTwo [x]?
La salida de la lista tiene que ser un Generic.IEnumerable que puedo usar en futuras consultas de linq.
Si bien pude hacerlo usando el siguiente código, no puedo evitar sentir que debe haber una manera mejor. ¿Algunas ideas?
List<int> firstList = new List<int>(new int[] { 1, 3, 4, 2, 5, 7, 2, 5, 7, 8, 9, 0 });
List<int> secondList = new List<int>(new int[] { 4, 6, 8, 3, 1, 5, 9, 3, 0 });
int findex = 0;
ILookup<int, int> flookup = firstList.ToLookup(f =>
{
int i = findex;
findex++;
return i;
}, p => p);
var listsAdded = from grp in flookup
select grp.First() + secondList.ElementAtOrDefault(grp.Key);
foreach (int i in listsAdded)
Console.WriteLine(i);
¿Qué sucede cuando la segunda lista es más larga que la primera? – Gabe
@gabe - vea mi solución a continuación, maneja listas de diferentes longitudes. –