如何在C#中创建网格表?

如何在C#中创建网格表?,c#,grid,C#,Grid,我正在尝试为我的井字游戏创建一个3x3网格表。 到目前为止,我有: 但我试图让它看起来像这样: 这是我的代码:您可以使用特殊的Unicode字符在控制台中绘制网格。首先按如下方式定义表: var table = new[] { new[] {" ", "0", "1", "2"}, new[] {"A", null, null, null}, new[] {"B", null, null, null}, new[] {"C", null, null, null}

我正在尝试为我的井字游戏创建一个3x3网格表。
到目前为止,我有:


但我试图让它看起来像这样:


这是我的代码:

您可以使用特殊的Unicode字符在控制台中绘制网格。首先按如下方式定义表:

var table = new[]
{
    new[] {" ", "0", "1", "2"},
    new[] {"A", null, null, null},
    new[] {"B", null, null, null},
    new[] {"C", null, null, null},
};
现在,您可以使用以下代码打印it内容:

var rows = table.Length;
var cols = table.First().Length;
var header = $"┌{string.Join("", Enumerable.Repeat("──┬", cols - 1))}──┐";
var middle = $"├{string.Join("", Enumerable.Repeat("──┼", cols - 1))}──┤";
var footer = $"└{string.Join("", Enumerable.Repeat("──┴", cols - 1))}──┘";

Console.WriteLine(header);
for (var i = 0; i < rows; ++i)
{
    foreach (var cell in table[i])
        Console.Write($"│ {cell ?? " "}");
    Console.WriteLine("│");
    if (i < rows - 1)
        Console.WriteLine(middle);
}
Console.WriteLine(footer);
var rows=table.Length;
var cols=table.First().长度;
变量头=$”┌{string.Join(“,可枚举。重复(”──┬“,cols-1))}──┐";
var middle=$”├{string.Join(“,可枚举。重复(”──┼", cols-1)}──┤";
变量页脚=$”└{string.Join(“,可枚举。重复(”──┴", cols-1)}──┘";
控制台写入线(标题);
对于(变量i=0;i

你可以找到live demo

你的应用程序类型是什么?WinForms、WPF、web?到目前为止你尝试了什么?请向我们展示一些代码。设计并实现一个类,允许一个人在3x3网格(3x3整数数组)上玩两人游戏。默认构造函数应将所有板值初始化为零整数(0).当玩家1移动时,你应该在他们选择移动到的阵列位置放置一(1)个,当玩家2移动时,你应该放置两(2)个。每个移动必须是一个空方块,并且程序应该能够正确显示何时获胜以及谁是赢家。