title: Index duplicates from the list using Linq
body: <p>Suppose I have a list of strings</p>
  
  <pre><code>var data = new List&lt;string&gt;{"fname", "phone",  "lname", "home", "home", "company", "phone", "phone"};
  </code></pre>
  
  <p>I would like to list all values and add index to duplicates like this</p>
  
  <pre><code>fname,
  phone,
  lname,
  home,
  home[1],
  company,
  phone[1],
  phone[2]
  </code></pre>
  
  <p>or like this</p>
  
  <pre><code>fname,
  phone[0],
  lname,
  home[0],
  home[1],
  company,
  phone[1],
  phone[2]
  </code></pre>
  
  <p>The both solutions would work for me.</p>
  
  <p>Is that possible with Linq?</p>