title: Wrong string ordering in C#
body: <p>I ran this:</p>
  
  <pre><code>void Main()
  {
      List&lt;string&gt; strings = new List&lt;string&gt;{"aaa", "z", "a"};
      Console.WriteLine(string.Join("\n", strings.OrderBy(k =&gt; k)));
  }
  </code></pre>
  
  <p>And the output is:</p>
  
  <pre><code>a
  z
  aaa
  </code></pre>
  
  <p>This can't be right! I was expecting</p>
  
  <pre><code>a
  aaa
  z
  </code></pre>
  
  <p>What could be the problem?</p>