Export (0) Print
Expand All

Array.GetUpperBound Method

Gets the upper bound of the specified dimension in the Array.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

[SecuritySafeCriticalAttribute]
public int GetUpperBound(
	int dimension
)

Parameters

dimension
Type: System.Int32
A zero-based dimension of the Array whose upper bound needs to be determined.

Return Value

Type: System.Int32
The upper bound of the specified dimension in the Array.

ExceptionCondition
IndexOutOfRangeException

dimension is less than zero.

-or-

dimension is equal to or greater than Rank.

GetUpperBound(0) returns the upper bound for the indexes of the first dimension of the Array, and GetUpperBound(Rank - 1) returns the upper bound of the last dimension of the Array.

This method is an O(1) operation.

The following code example uses GetLowerBound and GetUpperBound to initialize a one-dimensional array and a multidimensional array.


using System;
public class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Creates a new one-dimensional Array of type Int32.
      Array my1DIntArray = Array.CreateInstance(typeof(Int32), 5);

      // Uses GetLowerBound and GetUpperBound in the for loop.
      for (int i = my1DIntArray.GetLowerBound(0); i <= my1DIntArray.GetUpperBound(0); i++)
         my1DIntArray.SetValue(i + 1, i);

      // Displays the bounds and values of the one-dimensional Array.
      outputBlock.Text += "One-dimensional Array:" + "\n";
      outputBlock.Text += "Rank\tLower\tUpper" + "\n";
      outputBlock.Text += String.Format("{0}\t{1}\t{2}", 0, my1DIntArray.GetLowerBound(0), my1DIntArray.GetUpperBound(0)) + "\n";
      outputBlock.Text += "Values:" + "\n";
      PrintValues(outputBlock, my1DIntArray);
      outputBlock.Text += "\n";

      // Creates a new three-dimensional Array of type Int32.
      Array my3DIntArray = Array.CreateInstance(typeof(Int32), 2, 3, 4);

      // Uses GetLowerBound and GetUpperBound in the for loop.
      for (int i = my3DIntArray.GetLowerBound(0); i <= my3DIntArray.GetUpperBound(0); i++)
         for (int j = my3DIntArray.GetLowerBound(1); j <= my3DIntArray.GetUpperBound(1); j++)
            for (int k = my3DIntArray.GetLowerBound(2); k <= my3DIntArray.GetUpperBound(2); k++)
            {
               my3DIntArray.SetValue((i * 100) + (j * 10) + k, i, j, k);
            }

      // Displays the bounds and values of the multidimensional Array.
      outputBlock.Text += "Multidimensional Array:" + "\n";
      outputBlock.Text += "Rank\tLower\tUpper" + "\n";
      for (int i = 0; i < my3DIntArray.Rank; i++)
         outputBlock.Text += String.Format("{0}\t{1}\t{2}", i, my3DIntArray.GetLowerBound(i), my3DIntArray.GetUpperBound(i)) + "\n";
      outputBlock.Text += "Values:" + "\n";
      PrintValues(outputBlock, my3DIntArray);
   }


   public static void PrintValues(System.Windows.Controls.TextBlock outputBlock, Array myArr)
   {
      System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
      int i = 0;
      int cols = myArr.GetLength(myArr.Rank - 1);
      while (myEnumerator.MoveNext())
      {
         if (i < cols)
         {
            i++;
         }
         else
         {
            outputBlock.Text += "\n";
            i = 1;
         }
         outputBlock.Text += String.Format("\t{0}", myEnumerator.Current);
      }
      outputBlock.Text += "\n";
   }
}
/*
This code produces the following output.

One-dimensional Array:
Rank    Lower    Upper
0    0    4
Values:
    1    2    3    4    5

Multidimensional Array:
Rank    Lower    Upper
0    0    1
1    0    2
2    0    3
Values:
    0    1    2    3
    10    11    12    13
    20    21    22    23
    100    101    102    103
    110    111    112    113
    120    121    122    123
*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft