【问题标题】:c# booleans: return true if first boolean is true and the second is falsec# booleans: 如果第一个布尔值为真,第二个为假,则返回真
【发布时间】:2017-12-11 11:21:39
【问题描述】:

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

尝试 1:
如果第一个布尔值为真,第二个为假,则返回真。

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;
}

【问题讨论】:

    标签: c# if-statement boolean


    【解决方案1】:

    单个= 设置一个变量。 您需要使用双精度。

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

    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”的部分 - 这是否意味着当你写那个时,你会自动告诉计算机 boolean1 是真的?是这样的吗?
    • 返回语句将是truefalse。如果你说 return boolean1 并且 boolean1 是 true,则返回值为真。所以结合起来就是return true && not false
    【解决方案2】:

    这是您在下面的尝试。在检查 boolean1 是否为真时,您是在说“boolean1 设置为真”,而不是检查它是否为真,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 条件中,您需要添加 '==' 而不仅仅是 '=',以检查它是否等于您要检查的值。

    【讨论】:

    • 谢谢。他们俩都工作得很好。您提供的第二个代码(我尝试过的那个)更自然地是我的想法。即使第一个代码更有效,可以这么说,我需要了解它。说“返回布尔值 1”的部分 - 这是否意味着当你写那个时,你会自动告诉计算机 boolean1 是真的?是这样的吗?
    • 当你在学习C#时,我个人发现最好先学会做事的漫长道路,把你的头脑弄明白;然后带来效率。 public static bool ReturnTrueAndFalse(bool boolean1, bool boolean2) { return boolean1 && !boolean2;这样做是说'return boolean1',但我们看不到'return boolean1 if true',所以它会进行内联检查是否为真。然后我们添加另一个条件,如果它不为真,则返回 boolean2,因此返回“!boolean2”。这就是'!正在做,“if not true (var)' = !boolean2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2014-06-27
    相关资源
    最近更新 更多