2-D阵列的行和列大小

时间:2013-10-09 16:45:00

标签: c# arrays c#-4.0

下面列出的代码是为了帮助我在C#中找到二维数组的行和列大小,但在访问列长度时(GetLength(1)),我最终会得到一个IndexOutOfRangeException。我查找类似s.o q-a's,但无法确定列大小。

  List<List<int>> intLists = new List<List<int>>();
  for (int i = 0; i < 2; i++)
  {
    List<int> tempList = new List<int>();
    for (int j = 0; j < 5; j++)
      tempList.Add(j + 5+i);
    intLists.Add(tempList);
  }

  int[][] intArray = intLists.Select(Enumerable.ToArray).ToArray();

  Console.WriteLine("Dimension 0 Length = " + intArray[0].Length);
  Console.WriteLine("Dimension 1 Length = " + intArray[1].Length);
  Console.WriteLine("Dimension 0 Length = " + intArray.GetLength(0));
  //Console.WriteLine("Dimension 1 Length = " + intArray.GetLength(1));

1 个答案:

答案 0 :(得分:5)

intArray是一个数组数组,它​​不是2D数组。 Array.GetLength仅适用于多维数组(int[,]),因为intArray[0].Length可能与intArray[1].Length不同

查看此答案以获取更多详细信息:

What are the differences between a multidimensional array and an array of arrays in C#?