2

我正在尝试制作一个 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/2015 20/05/2015

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

4

2 回答 2

14

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

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

因此,arrHolidays.Length将返回 6。

for将循环更改为:

  for (int i = 0; i < arrHolidays.GetLength(0); i++)
  {
        Console.WriteLine(arrHolidays[i, 0]);
  }
于 2014-03-20T11:30:24.513 回答
2

Array.GetLength(int dimension)

在您的情况下,您想获得第一个维度的长度,所以arrHolidays.GetLength(0).

于 2014-03-20T11:31:46.287 回答