Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的Foreach循环转换错误#_C# - Fatal编程技术网

C# C语言中的Foreach循环转换错误#

C# C语言中的Foreach循环转换错误#,c#,C#,我正在温习和复习我的一些笔记 我第一次运行他的一个示例,我遇到了这样一个错误:无法将type double转换为double[]error。对我来说,代码看起来不错,我不知道为什么它不能转换。为什么这一行会导致错误 class Program { static void Main(string[] args) { double[,] list1; int r = 5, c = 10;

我正在温习和复习我的一些笔记

我第一次运行他的一个示例,我遇到了这样一个错误:
无法将type double转换为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();
        }
    }
类程序
{
静态void Main(字符串[]参数)
{
双[,]列表1;
int r=5,c=10;
列表1=新的双精度[r,c];
对于(int i=0;i对于(int j=0;j,您可以通过代码中的行来判断数组中元素的类型:

list1[i,j] = Convert.ToDouble(Console.ReadLine());
数组包含
双精度
,而不是
数组


C#中的二维数组是实数组,而不是数组数组本身不可枚举。您可以按如下索引进行迭代:

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

double[][
!=
double[,]
;第一个是double数组
(double[])[]
,第二个是二维double数组
foreach (double d in list1)
{
    Console.WriteLine(d);
}