C# 如何使用循环打印阵列的每一行,以使图形映射到电路板

C# 如何使用循环打印阵列的每一行,以使图形映射到电路板,c#,arrays,loops,multidimensional-array,graph,C#,Arrays,Loops,Multidimensional Array,Graph,我正在尝试使用c和visual studio制作一个基于输入的棋盘,类似于国际象棋。我不确定这是否是最好的方法,但我正在尝试使用4x4 2d数组绘制一个网格,其中包含可以修改的位置值。我的问题的焦点是如何打印一个完整的网格,并在4x4图形构建之后使用一个循环,其中不仅行a和列1占位符显示数组值。另外,使用2d阵列绘制每个空间上都有值的电路板是否明智,或者手动制作电路板并使用手动绘制的电路板为每个阵列分配值是否更容易。这是一个控制台项目,我现在只寻找代码的基础,我的总体目标是类似于棋盘游戏风险的东

我正在尝试使用c和visual studio制作一个基于输入的棋盘,类似于国际象棋。我不确定这是否是最好的方法,但我正在尝试使用4x4 2d数组绘制一个网格,其中包含可以修改的位置值。我的问题的焦点是如何打印一个完整的网格,并在4x4图形构建之后使用一个循环,其中不仅行a和列1占位符显示数组值。另外,使用2d阵列绘制每个空间上都有值的电路板是否明智,或者手动制作电路板并使用手动绘制的电路板为每个阵列分配值是否更容易。这是一个控制台项目,我现在只寻找代码的基础,我的总体目标是类似于棋盘游戏风险的东西。我应该补充一点,我对编程有点陌生,任何关于我应该使用什么和不应该使用什么的建议都是有帮助的。我已经标记了我计划使用的原始代码,其中x和y将使用循环来生成[]以显示图形,因为我意识到它不会标记4x4图形的每个占位符

 class game
{
    int[,] board;
    string y;
    int x;

    static void Main(string[] args)
    {

        //for (int y = 0; y < 6; y++)
        {
         //   Console.Write("[]");
        }

        //for (int x = 0; x < 6; x++)
        {
          //  Console.WriteLine("[]");
        }


        int[,,] map = new int[,,]{
            {
            {0,0}, {1,0}, {2,0}, {3,0},
            {0,1}, {1,1}, {2,1}, {3,1}
            }
        };


        foreach (var item in map)
        {
            Console.Write("[" + item.ToString() + "]");
        }

        Console.ReadKey();
    }
}

在写这篇文章的时候,我试着让它尽可能有效。 比如说:

    int[,,] map = new int[,,]{
        {
        {0,1,2,3},
        {0,1,2,3},
        {0,1,2,3},
        {0,1,2,3}
        }
    };


int width = map.GetLength(0);
int height = map.GetLength(1);
    for(int i=0;i < width;i++)
    {
       for(int j=0;j < height;j++)
       {

                Console.Write("[" + map[i,j] + "]");
       }
     Console.Write("\n");
    }
\n表示C中的新行。每次在维度中放置finish数组时,它都会打印新行

我更喜欢使用for而不是foreach,因为它在这种情况下速度更快。Foreach用于对象,for用于更多的数学问题


当然,您可以根据需要进行更改。

misha130我可以使用这段代码修改数组值吗?映射是否调用数组并使用i和j放置每个值以查找映射大小而不排除数组?准备工作和感谢。简单地说是的。您只需将控制台输出更改为value assigment。数组限制是在高度和宽度上设置的,因此它们不会超出范围。具有讽刺意味的是,我需要\n在前4个数组索引之后生效,以获得类似[0,0][1,0]\n[2,0][3,0]\n等内容。这就是我所说的4x4图形。在当前控制台中使用\n。写入[+map[i,j]+];循环将给我2[][],然后转到下一行。如果可能的话,我如何通过循环实现这一点?我在声明中添加了映射。在最初的问题中,您声明了8x2阵列而不是4x4阵列。我不知道该如何解释清楚。括号中的数组数据是值,而不是位置。