publicstatic Array CreateInstance(
Type elementType, int[] lengths, int[] lowerBounds )
-
elementType
-
类型:
System..::.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;