title: Why is a Dictionary "not ordered"?
body: <p>I have read this in answer to many questions on here. But what exactly does it mean?</p>
  
  <pre><code>var test = new Dictionary&lt;int, string&gt;();
  test.Add(0, "zero");
  test.Add(1, "one");
  test.Add(2, "two");
  test.Add(3, "three");
  
  Assert(test.ElementAt(2).Value == "two");
  </code></pre>
  
  <p>The above code seems to work as expected. So in what manner is a dictionary considered unordered? Under what circumstances could the above code fail? </p>