📄 getbound.cs
字号:
/*******
* public int GetUpperBound(int dimension);
* dimension是从0开始的维数,一维数组,dimension=0,二维数组,dimension=1
* GetUpperBound(0) 是 GetUpperBound 的一个示例,它返回 Array 的第一维的索引的上限,
* 而 GetUpperBound(Rank - 1) 返回 Array 的最后一维的上限。
* Rank是Array的秩(维数)
*/
using System;
namespace ConsoleApplication5
{
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
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();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -