title: Is using Random and OrderBy a good shuffle algorithm?
body: <p>I have read <a href="http://www.codinghorror.com/blog/archives/001015.html" rel="noreferrer">an article</a> about various shuffle algorithms over at <a href="http://www.codinghorror.com/" rel="noreferrer">Coding Horror</a>. I have seen that somewhere people have done this to shuffle a list:</p>
  
  <pre><code>var r = new Random();
  var shuffled = ordered.OrderBy(x =&gt; r.Next());
  </code></pre>
  
  <p>Is this a good shuffle algorithm? How does it work exactly? Is it an acceptable way of doing this?</p>