title: What is the most elegant way to find index of duplicate items in C# List
body: <p>I've got a <code>List&lt;string&gt;</code> that contains duplicates and I need to find the indexes of each.</p>
  
  <p>What is the most elegant, efficient way other than looping through all the items.  I'm on .NET 4.0 so LINQ is an option.  I've done tons of searching and connect find anything.</p>
  
  <p>Sample data:</p>
  
  <pre><code>var data = new List&lt;string&gt;{"fname", "lname", "home", "home", "company"}();
  </code></pre>
  
  <p>I need to get the indexes of "home".</p>