You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#棋盘游戏int二维数组映射为X/O空格格式化输出实现问题

你只需要在输出单元格内容时,将int类型的数值映射为对应的显示字符即可,修改后的DisplayBoard方法代码如下:

// 确认类中已定义棋盘大小常量,未定义的话可以在类内添加这行
// const int BOARD_SIZE = 8;
static void DisplayBoard(int[,] board) {
    Console.Write("     ");
    for (int i = 0; i < BOARD_SIZE; ++i)
    {
        Console.Write(" {0}  ", i);
    }

    Console.WriteLine();
    Console.WriteLine("    ---------------------------------");

    for (int row = 0; row < BOARD_SIZE; row++)
    {
        Console.Write(" {0}  |",row);
        for (int col = 0; col < BOARD_SIZE; ++col)
        {
            // 新增数值到显示字符的映射逻辑
            char displayChar = board[row, col] switch
            {
                0 => ' ',
                1 => 'X',
                2 => 'O',
                _ => ' ' // 异常值默认显示空格
            };
            Console.Write(" {0} |", displayChar);
        }
        Console.WriteLine();
        Console.WriteLine("    ---------------------------------");
    }
    Console.WriteLine();
}

如果你使用的是低版本C#不支持switch表达式,也可以用三元运算符替换映射部分:

char displayChar = board[row, col] == 1 ? 'X' : board[row, col] == 2 ? 'O' : ' ';

修改后运行即可实现0显示为空格、1显示为X、2显示为O的棋盘效果,原有行列号、边框的布局逻辑不会受影响。

内容的提问来源于stack exchange,提问作者Bryce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:54:04