首页 > 解决方案 > 如何在 if-else 语句中创建循环?

问题描述

我正在尝试在 WPF 应用程序的 if-else 语句中创建循环。我想创建一个错误计数器,当它达到 4 时它会结束游戏。

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Random prvni = new Random();
            Random druhy = new Random();
            int maxprvni = 10;
            int maxdruhy = 10;
            int prvnic = prvni.Next(1, maxprvni);
            int druhyc = druhy.Next(2, maxdruhy);
            int total = (prvnic + druhyc);
            prvnit.Text = prvnic.ToString();
            druhyt.Text = druhyc.ToString();
            vysledek.Text = total.ToString();
        }

        private void kontrola_Click(object sender, RoutedEventArgs e)
        {
            if (vysledekhrac.Text == vysledek.Text)
            {
                hlaska.Text = "Správně";
            }
            else
            {
                int poch = new Int32();
                do
                {
                    hlaska.Text = "Špatně";                   
                    poch++;
                    pocetchyb.Text = poch.ToString();
                    
                } while (poch==4);
               
            }
        }

此代码将确保它通常拼写错误或正确,但不会将其添加到错误总数中。

该应用程序暂时只是添加随机数,但我想在未来完成其他数值运算但我一定会在其他时候问这个问题:D

感谢您的任何建议

标签: c#wpfloopsif-statement

解决方案


您可以在方法之外使用包含错误计数器的字段。不需要循环。

// fields always automatically intialized with default value which is 0 for 'int'.
private int poch;

private void kontrola_Click(object sender, RoutedEventArgs e)
{
    if (vysledekhrac.Text == vysledek.Text)
    {
        hlaska.Text = "Správně";
    }
    else
    {
        hlaska.Text = "Špatně";
        poch++;
        pocetchyb.Text = poch.ToString();
        if (poch == 4)
        {
            // end game
        }
    }
}

推荐阅读