title: How and when to abandon the use of arrays in C#?
body: <p>I've always been told that adding an element to an array happens like this:</p>
  
  <blockquote>
    <p>An empty copy of the array+1element is
    created and then the data from the
    original array is copied into it then
    the new data for the new element is
    then loaded</p>
  </blockquote>
  
  <p>If this is true, then using an array within a scenario that requires a lot of element activity is contra-indicated due to memory and CPU utilization, correct?</p>
  
  <p>If that is the case, shouldn't you try to avoid using an array as much as possible when you will be adding a lot of elements? Should you use iStringMap instead? If so, what happens if you need more than two dimensions AND need to add a lot of element additions. Do you just take the performance hit or is there something else that should be used?</p>