二维数组打印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]);
}
试试这个:
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]);
}