【问题标题】:DialogResult Infinite LoopDialogResult 无限循环
【发布时间】:2014-04-16 20:46:21
【问题描述】:

所以我在学校有这个项目来创建一个游戏“猜数字”。我正在尝试使用 switch 语句和 while 循环来循环 DialogResult。我尝试了很多可能性,但我陷入了无限循环。只是知道我是初学者。如果可能的话,我真的需要一些帮助。这是我的代码。提前致谢。

私人无效btnStartTheGame_Click(对象发送者,EventArgs e) { int guessTheNumber = Convert.ToInt32(txtNumberGuess.Text); DialogResult dialogResult = MessageBox.Show("Is number" + number.ToString() + "你在想什么?", "回答问题!", MessageBoxButtons.YesNo); 开关(对话结果) { case DialogResult.No: while (dialogResult == DialogResult.No) { Random newNumberGenerator = new Random(); number = newNumberGenerator.Next(0, 101); MessageBox.Show("Is number" + number.ToString() + " you are thinking about?", "Answer the question!", MessageBoxButtons.YesNo); } break; case DialogResult.Yes: if (dialogResult == DialogResult.Yes) { MessageBox.Show("Congratulation! You guessed the number!!"); break; } break; }

【问题讨论】:

    标签: while-loop switch-statement infinite-loop dialogresult


    【解决方案1】:

    您需要加载对话框的新结果。

    int guessTheNumber = Convert.ToInt32(txtNumberGuess.Text);
    DialogResult dialogResult;
    do
    {
        Random newNumberGenerator = new Random();
        number = newNumberGenerator.Next(0, 101);
        dialogResult = MessageBox.Show("Is number" + number.ToString() + " you are thinking about?", "Answer the question!", MessageBoxButtons.YesNo);
    } while (dialogResult == DialogResult.No);
    
    MessageBox.Show("Congratulation! You guessed the number!!");
    

    do 循环将首先执行代码,然后检查条件。这也将防止在不同的地方有相同的代码,意思相同。

    【讨论】:

    • 非常感谢!像魅力一样工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多