How do I add two lists in Linq so addedList[x] = listOne[x] + listTwo[x]?
- by Audie
I want to add two lists of a numeric type such that
addedList[x] = listOne[x] + listTwo[x]
The output of the list needs to be a Generic.IEnumerable that I can use in future linq queries.
While I was able to do it using the code below, I can't help but feel like there must be a better way. Any 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);