title: GetUpperBound() and GetLowerBound() function for array
body: <p>Can anyone please tell what does the two functions do? They take an integer argument which is told to be dimension. But how does the value of this integer changes the output?</p>
  
  <p>Below is an example which I ran.</p>
  
  <pre><code>int[, ,] intMyArr = {{{ 7, 1, 3, 4 }, { 2, 9, 6, 5 } }, { { 7, 1, 3, 4 }, { 2, 9, 6, 5 }}};
  Console.WriteLine(intMyArr.GetUpperBound(0));       // Output is 1
  Console.WriteLine(intMyArr.GetUpperBound(1));       // Output is 1
  Console.WriteLine(intMyArr.GetUpperBound(2));       // Output is 3
  
  Console.WriteLine(intMyArr.GetLowerBound(0));       // Output is 0
  Console.WriteLine(intMyArr.GetLowerBound(1));       // Output is 0
  Console.WriteLine(intMyArr.GetLowerBound(2));       // Output is 0
  </code></pre>
  
  <p>Any idea why GetLowerBound() is always returning 0? If this always returns 0 then why do we
  need to call this method?</p>