源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c# Rank属性与GetUpperBound方法的深入分析

  • 时间:2022-05-24 11:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c# Rank属性与GetUpperBound方法的深入分析
[b]Array的Rank 属性: [/b]   语法:public int Rank { get; }   得到Array的秩(维数)。 [b]Array而GetUpperBound 方法: [/b]   语法:public int GetUpperBound(int dimension)  用于获取 Array 的指定维度的上限。 -------------------------------------------------------------------------------- [b]示例: [/b]
[u]复制代码[/u] 代码如下:
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 */
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部