title: Return items in one list based upon their matching index in another using Linq
body: <p>I know I could very easily accomplish this using loops, but I'm looking for the most efficient solution for my question.</p>
  
  <p>Suppose I have 2 lists(of string):</p>
  
  <pre><code>Dim lst1 as new list(of string)
  Dim lst2 as new list(of string)
  </code></pre>
  
  <p>And both have the same number of elements, for example:</p>
  
  <pre><code>Lst1:    Lst2:
  a        abc1
  a        abc2
  b        abc3
  a        abc4
  b        abc5
  c        abc6
  a        abc7
  c        abc8
  </code></pre>
  
  <p>Now, I'm looking to get, for example, all the elements from lst2 for which the corresponding elements in Lst1 = "a"</p>
  
  <p>So my final result will be:</p>
  
  <pre><code>Lst3 = Items from Lst2 where corresponding Items in Lst1 = "a"
  Lst3 = {abc1, abc2, abc4, abc7}
  </code></pre>
  
  <p>Again, I know this would be SUPER easy to do with loops, but I'm wondering how to do this via Linq.</p>
  
  <p>Thanks!!!</p>