小编tym*_*lis的帖子

如何在c#中发送数组副本

  • 所以,我正在尝试使用AI制作简单的Console Tic Tac Toe游戏.
  • 当前板状态存储在多维阵列内.
  • 要检查AI的最佳移动是什么,我使用递归.
  • 函数"CheckMove"改变了电路板的位置,然后调用自己来查看它的位置.
  • 但问题是,如果我在被调用函数内部更改了板状态,它也会在调用者内部发生变化.

怎么避免呢?简化代码:

static void Main()
    {
        int[] board = { 1 };
        CheckMove(board);
        //board = 2
    }

    static void CheckMove(int[] board)
    {
        board[0] = 2;
    }
Run Code Online (Sandbox Code Playgroud)

完整代码(WIP):

enum Sym
{
    E, X, O
}

class Program
{
    static void Main(string[] args)
    {
        Sym[,] board = new Sym[3,3];
        int x, y;
        while (End(board) == 2)
        {
            Display(board);

            Console.WriteLine("Make your move - column: ");
            x = Convert.ToInt32(Console.ReadLine())-1;
            Console.WriteLine("Make your move - row: ");
            y = …
Run Code Online (Sandbox Code Playgroud)

c# arrays

7
推荐指数
1
解决办法
111
查看次数

标签 统计

arrays ×1

c# ×1