using System; public class SamplesArray { public static void Main() { // 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. Console.WriteLine( "One-dimensional Array:" ); Console.WriteLine( "Rank/tLower/tUpper" ); Console.WriteLine( "{0}/t{1}/t{2}", 0, my1DIntArray.GetLowerBound(0), my1DIntArray.GetUpperBound(0) ); Console.WriteLine( "Values:" ); PrintValues( my1DIntArray ); Console.WriteLine(); // 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. Console.WriteLine( "Multidimensional Array:" ); Console.WriteLine( "Rank/tLower/tUpper" ); for ( int i = 0; i < my3DIntArray.Rank; i++ ) Console.WriteLine( "{0}/t{1}/t{2}", i, my3DIntArray.GetLowerBound(i), my3DIntArray.GetUpperBound(i) ); Console.WriteLine( "Values:" ); PrintValues( my3DIntArray ); } public static void PrintValues( 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 { Console.WriteLine(); i = 1; } Console.Write( "/t{0}", myEnumerator.Current ); } Console.WriteLine(); } } /* 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 */