title: Find the highest occuring words in a string C#
body: <p>I am trying to find the top occurrances of words in a string.</p>
  
  <p>e.g. </p>
  
  <pre><code>Hello World This is a great world, This World is simply great
  </code></pre>
  
  <p>from the above string i am trying to calculate results something like follows:</p>
  
  <ul>
  <li>world, 3</li>
  <li>great, 2</li>
  <li>hello, 1</li>
  <li>this, 2</li>
  </ul>
  
  <p>but ignoring any words with length less then 3 characters e.g. <code>is</code> which occurred twice.</p>
  
  <p>I tried to look into <code>Dictionary&lt;key, value&gt;</code> pairs, I tried to look into linq's <code>GroupBy</code> extension. I know the solution lies somewhere in between but I just can't get my head around the algorithm and how to get this done.</p>