c# – 运算符’\u0026\u0026’不能应用于’int’和’bool’类型的操作数

我试图找出输入的数字是否可以被9和13整除,但它不会让我使用我需要的运算符,我知道变量类型是错误的但我不知道如何使它变量类型被接受,我是新编码所以答案应尽可能基本,而不是小便

public bool IsFizzBuzz(int input)
{
    if ((input % 9) && (input % 13) == 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

解决方法:

由于== operatorhigher precedence而不是&& operator,你的if语句首先计算;

(input % 13) == 0

part返回true或false取决于你的输入.你的if语句会是这样的;

(input % 9) && true // or false

因为输入%9表达式返回int,所以最后,你的if语句将是;

int && true

和逻辑AND在int和bool变量之间没有意义.

&& Operator (C# Reference)

The conditional-AND operator (&&) performs a logical-AND of its bool
operands
, but only evaluates its second operand if necessary.

你说;

im trying to find out if a number that is entered is both divisible by
9 and 13

那你应该像他们一样使用它们;

if ((input % 9 == 0) && (input % 13 == 0))
上一篇:在python中,为什么s * 3比s s快?


下一篇:为什么在Python中,=和 – =被认为是分隔符?