1

下面列出的代码是为了帮助我在 C# 中找到二维数组的行和列大小,但在访问 column-length(GetLength(1)) 时我最终得到了 IndexOutOfRangeException。我确实查找了类似的 qa'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));
4

1 回答 1

5

intArray是数组的数组,它不是二维数组。Array.GetLength仅适用于多维数组 ( int[,]) 因为intArray[0].Length可能不同于intArray[1].Length

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

多维数组和 C# 中的数组数组有什么区别?

于 2013-10-09T16:48:32.710 回答