gpt4 book ai didi

C# 如何缩短这个长的重载 do while 语句

转载 作者:行者123 更新时间:2023-12-02 22:15:31 25 4
gpt4 key购买 nike

我制作了一个井字游戏,并且正在制作另一个代码更少的版本。无论如何...这是我的代码...我在 do while 语句之间使用了一些代码但是是的...

    var rc = new Random();
do
{
storeRI = rc.Next(1, 9);

if (storeRI == 1 & button1.Text == "")
{
button1.Text = "O";
Turn = 1;
TestWin();
break;
}
else if (storeRI == 2 & button2.Text == "")
{
button2.Text = "O";
Turn = 1;
TestWin();
break;
}


} while (Turn == 2 & button1.Text == "" | button2.Text == "" | button3.Text == "" | button3.Text == "" | button4.Text == "" | button5.Text == "" | button6.Text == "" | button7.Text == "" | button8.Text == "" | button9.Text == "");
}
else
{
MessageBox.Show("It's a draw");
}

我主要想关注这个代码块...缩短...:)

 } while (Turn == 2 & button1.Text == "" | button2.Text == "" | button3.Text == "" | button3.Text == "" | button4.Text == "" | button5.Text == "" | button6.Text == "" | button7.Text == "" | button8.Text == "" | button9.Text == "");

最佳答案

从您的各个按钮创建一个按钮列表,然后将其更改为

while(Turn==2 && buttons.Any(b => b.Text == ""))

通常有 9 个按钮,它们应该放在一个数组或列表中以便于访问:

Button[] buttons = new Button[] {button1, button2, button3, ... } ;

然后您可以通过 buttons[0] 而不是 button1 等访问它。

我会在您的表单初始值设定项中执行此操作,而不是使用按需执行此操作的函数。

关于C# 如何缩短这个长的重载 do while 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14533147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com