C#一个if语句中有多个布尔

时间:2018-08-05 17:50:27

标签: c#

我有一个if语句,当前使用bool“ debug”。

它看起来像这样:

for (; ; )
{
    if (debug)
    {
        Console.WriteLine("Please type in a command");
        cmd = Console.ReadLine();
        p.Send(cmd);
        Console.WriteLine("Command successfully executed\n");
        if (cmd == "switch")
        {
            debug = !debug;
        }
        else if (cmd == "night")
        {
            p.Send(night);
        }
        else if (cmd == "fps 300")
        {
            p.Send(threefps);
        }
        else if (cmd == "fps 600")
        {
            p.Send(sixfps);
        }
        else if (cmd == "fps max")
        {
            p.Send(maxfps);
        }
        else if (cmd == "quality")
        {
            p.Send(quality);
        }
        else if (cmd == "hud")
        {
            p.Send(hud);
        }
        else if (cmd == "greenscreen")
        {
            p.Send(green);
        }
        else if (cmd == "regular")
        {
            p.Send(regular);
        }
    }
    else
    {
        Console.WriteLine("Press enter to execute config");
        cmd2 = Console.ReadLine();
        if (cmd2 == "switch")
        {
            debug = !debug;
        }
        WebConfigReader conf = new WebConfigReader(url);
        string[] tokens = Regex.Split(conf.ReadString(), @"\r?\n|\r");
        foreach (string s in tokens)
        {
            p.Send(s);
        }
    }
}

我正在尝试做到这一点,因此如果要检查另一个称为“ beta”的布尔值,将会出现其他情况。您如何建议我解决这个问题?我尝试过使用简单的if,但这还是行不通的。

1 个答案:

答案 0 :(得分:0)

使用2个布尔值,您有4个不同的状态。您可以使用:

if (debug && beta)
else if (debug && !beta)
else if (!debug && beta)
else

其他小评论:与您一起使用cmd时,我会使用switch(cmd)语句。