我正在尝试制作一个C#for循环,该循环将遍历一系列项并打印用户的第一个日期。下面是数组的代码(我认为是正确的)。

string[,] arrHolidays = new string[2, 3];
arrHolidays[0, 0] = "10/05/2015";
arrHolidays[0, 1] = "15/05/2015";
arrHolidays[0, 2] = "Danny";
arrHolidays[1, 0] = "20/05/2015";
arrHolidays[1, 1] = "22/05/2015";
arrHolidays[1, 2] = "Kieran";


以下是For循环的代码(引发错误)

for(int i = 0; i < arrHolidays.Length; i++)
{
    Console.WriteLine(arrHolidays[i, 0]);
}


索引超出范围异常未处理。这是我收到的错误。当它引发错误并且我检查值1时,如果对解决它有帮助,则为2。
我期望在控制台应用程序中看到以下内容:
10/05/201520/05/2015

INB4我几乎没有任何C#经验,这是我的第一个项目,所以请解释任何帮助:)

最佳答案

您必须使用GetLength方法,而不是Length属性。

多维数组的Length属性返回数组中所有项目的总数。 GetLength方法返回给定维的大小数(其中维被指定为从零开始的索引)。

因此,arrHolidays.Length将返回6。

for循环更改为:

  for (int i = 0; i < arrHolidays.GetLength(0); i++)
  {
        Console.WriteLine(arrHolidays[i, 0]);
  }

07-26 08:28