c#中Foreach循环转换错误
本文关键字:转换 错误 循环 Foreach | 更新日期: 2023-09-27 18:15:03
我正在复习c#笔记。
我第一次运行他的一个例子,我得到这个错误:Cannot convert type double to double[] error
。对我来说,代码看起来不错,我不知道为什么它没有转换。为什么这一行会导致错误?
class Program
{
static void Main(string[] args)
{
double[,] list1;
int r = 5, c = 10;
list1 = new double[r, c];
for(int i = 0; i < r; i++)
for(int j = 0; j<c; j++)
list1[i,j] = Convert.ToDouble(Console.ReadLine());
foreach (double [] i in list1) // -- THIS LINE IS GIVING ME THE ERROR --
{
foreach (double j in i)
Console.WriteLine(j);
}
Console.Read();
}
}
您可以通过代码中的一行来判断数组中元素的类型:
list1[i,j] = Convert.ToDouble(Console.ReadLine());
包含doubles
,不包含arrays
c#中的二维数组是真正的数组,而不是数组的数组
多维数组本身是不可枚举的。您可以像这样通过索引进行迭代:
for (int i = 0; i < list1.GetLength(0); i++)
{
for (int j = 0; j < list1.GetLength(1); j++)
{
Console.WriteLine(list1[i, j]);
}
}
在你的例子中相当于把它当作一个一维数组:
foreach (double d in list1)
{
Console.WriteLine(d);
}