Effective way in LINQ of joining based on index
<p>I have written code that works, but I can't seem to find a better way to combine the lists together if they have the same index.</p>

<pre><code>    class Apple {};
    class Carrot {};

    var apples = new list&lt;Apple&gt;();
    var carrot = new list&lt;Carrot&gt;();

    var combine = from a in apples
                  from c in carrots
                  where apples.IndexOf(a) == carrots.IndexOf(c)
                  select new {a, c};
</code></pre>

<p>(When I say combine, I don't mean append to the end of the list. {{a,b},{a,b}, .... { }}: Maybe I have the terminology wrong when trying to research.)</p>