title: Retrieve index in LinQ Lambda Join
body: <p>I'm quite new to all the .Net stuff and just wondering about something I would like to do.
  I've been using for some time the LinQ Lambda queries to return list values with the <code>Select</code> statement, like this:</p>
  
  <pre><code>        var data = list.Select((x, i) =&gt;
              new
              {
                  Index = i,       // &lt;--- this is what I need!
                  Value = x.Value,
                  Text = x.Text
              })
              .ToList();
  </code></pre>
  
  <p>The thing is that I have a LinQ Lambda Join expression as it follows:</p>
  
  <pre><code>        var data = DataBase.Table1
              .Join(DataBase.Table2,
                  x =&gt; x.Id,
                  y =&gt; y.Id,
                  (x, y) =&gt; new    // &lt;--- I can't do the same here :(
                  {
                      Index = ???, // &lt;--- Here is where I need the index!!
                      Value = x.Id,
                      Text = y.Description,
                  })
              .OrderBy(x =&gt; x.Id)
              .ToList();
  </code></pre>
  
  <p>My question is, <strong>how can I retrieve the index in this second linq query as I did in the first?</strong></p>