title: How do I add two lists in Linq so addedList[x] = listOne[x] + listTwo[x]?
body: <p>I want to add two lists of a numeric type such that 
  addedList[x] = listOne[x] + listTwo[x]</p>
  
  <p>The output of the list needs to be a Generic.IEnumerable that I can use in future linq queries. </p>
  
  <p>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?</p>
  
  <pre><code>List&lt;int&gt; firstList = new List&lt;int&gt;(new int[] { 1, 3, 4, 2, 5, 7, 2, 5, 7, 8, 9, 0 });
  List&lt;int&gt; secondList = new List&lt;int&gt;(new int[] { 4, 6, 8, 3, 1, 5, 9, 3, 0 });
  
  int findex = 0;
  
  ILookup&lt;int, int&gt; flookup = firstList.ToLookup(f =&gt;
                              {
                                 int i = findex;
                                 findex++; 
                                 return i;
                                 }, p =&gt; p);  
  
  var listsAdded = from grp in flookup
                   select grp.First() + secondList.ElementAtOrDefault(grp.Key);
  
  foreach (int i in listsAdded)
    Console.WriteLine(i);
  </code></pre>