手机
当前位置:查字典教程网 >编程开发 >C#教程 >c# Rank属性与GetUpperBound方法的深入分析
c# Rank属性与GetUpperBound方法的深入分析
摘要:Array的Rank属性:语法:publicintRank{get;}得到Array的秩(维数)。Array而GetUpperBound方法...

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#简单工厂、工厂方法与抽象工厂的区别分析

解析C#中用Process类杀死进程,执行命令的深入分析

c# 共享状态的文件读写实现代码

C# 透明窗体制作实现方法比较分析

经典的委托排序(深入分析)

基于C#委托的深入分析

C#方法的总结详解

c# 删除所有的空文件夹的小例子

c# datetime方法应用介绍

c#中的常用ToString()方法总结

精品推荐
分类导航