首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

动态数组,该如何处理

2012-02-25 
动态数组int[] lengthsArr new int[] { 3, 4 }int[] lowerBoundsArr { 1, 11 }Array arr Array.Cre

动态数组
int[] lengthsArr = new int[] { 3, 4 };
  int[] lowerBoundsArr ={ 1, 11 };
  Array arr = Array.CreateInstance(Type.GetType("System.Int32"), lengthsArr, lowerBoundsArr);
  Random r = new Random();
  for(int i=arr.GetLowerBound(0);i<arr.GetUpperBound(0);i++)
  {
  for(int j=arr.GetLowerBound(1);j<arr.GetUpperBound(1);j++)
  {
  arr.SetValue((int)r.Next()%100,i,j);
  Console.WriteLine("arr[{0},{1}]={3}", i, j,arr.GetValue(i,j));
  }
  }

[解决办法]

C# code
 Console.WriteLine("arr[{0},{1}]={3}",   i,   j,arr.GetValue(i,j)); 这行有误
[解决办法]
错误提示是“索引<以零为启始>必须大于或等于零,并且小于引数清单的大小”,你这里i,j的值不为零,arr[i,j]超出了引数清单的大小,你直接输出arr.GetValue(i,j)是没有问题的

热点排行