title: LINQ expression for shortest common prefix
body: <p>Can anyone help me with a nice LINQ expression for transforming a list of strings in another list containing only the shortest distinct common prefixes for the strings? The delimiter for prefixes is <code>.</code>.</p>
  
  <p>Example: <code>["A", "A.B.D", "A", "A.B","E","F.E", "F","B.C"]</code></p>
  
  <p>Goes to: <code>["A", "E", "F", "B.C"]</code></p>
  
  <p>Removed:</p>
  
  <ul>
  <li>"A.B.D" and "A.B" because the prefix "A" is already in the list</li>
  <li>"A" because is duplicate</li>
  <li>"F.E" because "F" already in list</li>
  </ul>
  
  <p>Thanks!</p>