title: Efficiently shrinking a two dimensional array in C#
body: <p>What is an efficient way to shrink a two dimensional array to a smaller size in C#?</p>
  
  <p>For example:</p>
  
  <pre><code>var bigArray = new object[100, 100];
  var smallArray = new object[10, 10];
  
  bigArray[0, 0] = 1;
  bigArray[0, 1] = 2;
  ...
  bigArray[99, 99] = 100000;
  
  
  startRowIndex = 0;
  startColumnIndex = 0;
  endRowIndex = 9;
  endColumnIndex = 9;
  
  smallArray = bigArray.SomeShirnkingMethod(startRowIndex, startColumnIndex, endRowIndex, endColumnIndex);
  </code></pre>
  
  <p>How will you write SomeShrinkingMethod() ?</p>
  
  <p>Thanks!</p>
  
  <p>EDIT: I'm simply trying to get the first 10 rows and columns of the bigArray into the smallArray but I'm not sure if a looping through the array is the most efficient method.</p>