我正在尝试创建一个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#经验这是我的第一个项目,所以请解释任何帮助:)
答案 0 :(得分:14)
您必须使用GetLength
方法,而不是Length
属性。
多维数组的Length
属性返回数组中所有项的总数。 GetLength
方法返回给定维度的大小数量(其中维度指定为从零开始的索引)。
因此,arrHolidays.Length
将返回6.
将for
循环更改为:
for (int i = 0; i < arrHolidays.GetLength(0); i++)
{
Console.WriteLine(arrHolidays[i, 0]);
}
答案 1 :(得分:2)
Array.GetLength(int dimension)
在您的情况下,您希望获得第一个维度的长度,因此arrHolidays.GetLength(0)
。