关于Array.CreateInstance

来源:互联网 发布:怎么解决移动网络屏蔽 编辑:程序博客网 时间:2024/05/16 15:34

publicstaticArray CreateInstance(

Type elementType,int[] lengths,int[] lowerBounds)
elementType
类型:System..::.Type

要创建的 Array 的 Type。

lengths
类型:array<System..::.Int32>[]()[]

一维数组,它包含要创建的 Array 的每个维度的大小。

lowerBounds
类型:array<System..::.Int32>[]()[]

一维数组,它包含要创建的 Array 的每个维度的下限(起始索引)。

int[] myLengthsArray = new int[2] { 3, 5 };

 int[] myBoundsArray = new int[2] { 2, 3 }; 

 Array myArray=Array.CreateInstance( typeof(String), myLengthsArray, myBoundsArray ); 

  for ( int i = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++ ) 

   for ( int j = myArray.GetLowerBound(1); j <= myArray.GetUpperBound(1); j++ )

 

  int[] myIndicesArray = new int[2] { i, j };

  myArray.SetValue( Convert.ToString(i) + j, myIndicesArray );

  }

这个是vs2008的关于Array.CreateInstance的帮助例子;

myLengthsArray就是你所要数组的大小这里是3*5;

然后myBoundsArray就是维度的下限;简单说就是a[2][3],a[2][4],a[2][5],a[2][6],a[2][6];a[3][3]~a[3][7];a[4[3]]~a[4][7];所以有不基于0的数组一说;

然后访问这个数组的方法也是比较奇怪,需要一个IEnumerator;