Array的Rank 属性: 语法:public int Rank { get; } 得到Array的秩(维数)。Array而GetUpperBound 方法: 语法:public int GetUpperBound(int dimension) 用于获取 Array 的指定维度的上限。--------------------------------------------------------------------------------示例:复制代码 代码如下: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*/
c# Rank属性与GetUpperBound方法的深入分析
本篇文章是对c#中的Rank属性与GetUpperBound方法进行了详细的分析介绍,需要的朋友参考下
0
0
0
上一篇:MyBatis源码解读
精彩评论