二维数组打印c#

本文关键字:打印 二维数组 | 更新日期: 2023-09-27 17:50:06

我想打印一个2D数组,我尝试使用以下代码,但它只打印数组的第一行,为什么它这样做,而不是在一行中打印整个数组?

for (int x = 0, y = 0; y < 3; y++)
{
    for (; x < 3; x++)
        Console.Write("{0}, ", arr[x, y]);
}

二维数组打印c#

试试这个:

for (int x = 0; x < 3; x++)
{
    for (int y = 0; y < 3; y++)
    {
        Console.Write("{0}, ", arr[x, y]);
    }
}

按列打印

for (int y = 0; y < 3; y++)
{
    for (int x = 0; x < 3; x++)
        Console.Write("{0}, ", arr[x, y]);
    Console.Write("'n"); //added for better formatting
}

如果你不关心格式,

foreach(var arrEle in arr)
   Console.Write(arrEle+" ");

您的代码的问题是,您没有为每个y初始化x。这就是为什么我们必须在for循环中声明/initialize

x在外循环开始时只被设置为0一次,因此在外循环的第二次迭代中,x=3和内循环测试失败。试试这个:

for (int y = 0; y < 3; y++)
{
    for (int x = 0; x < 3; x++)
        Console.Write("{0}, ", arr[x, y]);
}

只需使用一个简单的foreach循环:

foreach (var item in arr)
  Console.Write("{0}, ", item);

foreach循环也适用于多维数组

您已经在外循环中定义了x=0。这意味着一旦内部循环运行一次,x将始终是3

试题:

for (int y = 0; y < 3; y++)
{
    for (int x = 0; x < 3; x++)
        Console.Write("{0}, ", arr[x, y]);
}