title: C# iterate keys in reverse order
body: <p>I have a dictionary that has <code>int</code> keys. The keys are in random order and are not necesserily consequtive (e.g. 5, 3, 11, 12, 10, 4). I would like to visit each key-value pair in reverse order of key size. So for the example above I'd like to visit (12,11,10...).</p>
  
  <p>The way I see how to do this is to get a count of the number of elements, find the max key by say binary search and then find the next largest value that is smaller than the current max etc. untill I've processed the number of elements contained in the dictionary.</p>
  
  <p>However, there could be a method already existing. For a discussion on how to find the max key: <a href="https://stackoverflow.com/questions/8315154/c-sharp-get-largest-key-in-dictionary">Get the largest key in a dictionary</a></p>