栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

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

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c# Rank属性与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();
    }
 }
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/127168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号