c#booleans:如果第一个布尔值为true而第二个为false,则返回true

时间:2017-07-07 08:27:59

标签: c# if-statement boolean

我正在学习C#并尝试过这个问题。请看下面问题下面的两次尝试,有人可以指出我在哪里/怎么出错了吗?感谢。

尝试1:
        如果第一个布尔值为true且第二个布尔值为false,则返回true。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2)
{
    if (boolean1 = true && (boolean2 = false))
    {
        return true;
    }
    return false;
}

尝试2:

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2)
{
    boolean1 = true;
    boolean2 = false;
    return boolean1 && boolean2;
}

2 个答案:

答案 0 :(得分:5)

单个=设置变量。 你需要使用双倍。

另外,你可以稍微改写一下。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2)
{
    return boolean1 && !boolean2;
}

如果你想保留它,就像这样:

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2)
{
    if (boolean1 == true && boolean2 == false)
    {
        return true;
    }

    return false;
    }
}

答案 1 :(得分:1)

这是您在下面的尝试。在检查boolean1是否为true时,你说'boolean1设置为true'你不检查它是否为真,对于boolean2是相同的。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2)
{
    if (boolean1 = true && (boolean2 = false))
    {
        return true;
    }
    return false;
}

我已修复您的代码,这将有效。

public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2)
{
    if (boolean1 == true && boolean2 == false)
    {
        return true;
    }
    return false;
}

在if条件中,您需要添加'=='而不是'=',以检查它是否与您要检查的值相等。