title: Remove from dictionary and reduce other key value
body: <p>I have <code>Dictionary&lt;string, string&gt;</code> where keys have value <code>0,1,2,3,4,etc</code> I always have unknown number of elements. It is important to be dictionary,not list etc...</p>
  
  <p>For example I have</p>
  
  <pre><code>some_dict&lt;"0","string a"&gt;;
  some_dict&lt;"1","string b"&gt;;
  some_dict&lt;"2","string c"&gt;;
  some_dict&lt;"3","string d"&gt;;
  some_dict&lt;"4","string e"&gt;;
  </code></pre>
  
  <p>Now I need remove some items for some keys. For example <code>1 and 2</code> I can use <code>remove</code> </p>
  
  <pre><code>some_dict.remove("1");
  some_dict.remove("2");
  </code></pre>
  
  <p>and i get :</p>
  
  <pre><code>some_dict&lt;"0","string a"&gt;;
  some_dict&lt;"3","string d"&gt;;
  some_dict&lt;"4","string e"&gt;;
  </code></pre>
  
  <p>But problem is that i need reduce all of the following keys.To get something like: </p>
  
  <pre><code>some_dict&lt;"0","string a"&gt;;
  some_dict&lt;"1","string d"&gt;;
  some_dict&lt;"2","string e"&gt;;
  </code></pre>
  
  <p>I was think to use <code>for</code> to move all strings for one place,and then remove last from dictionary.For example i need to remove key 1:</p>
  
  <pre><code>for(int i=1;i&lt;some_dict.count();++i)
  {
       some_dict[Convert.ToString(i)] = some_dict[Convert.ToString(i+1)]
  }
  some_dict.remove(some_dict.count()-1);
  </code></pre>
  
  <p>I write some similar in my app , and it is work. But what if i have 500 or more values in dictionary, will be this slow? Can i use some better method?</p>