c #newbie:if语句&& with int

eld*_*dje 1 c# if-statement

我在为第二个欧拉问题编写的代码中遇到了一个问题(偶数斐波那契的总和直到400万.

我正在使用带有整数的if语句(也尝试了很长时间,...),而且'&&'不能与int一起使用.我怎么能解决这个问题还是我犯了另一个错误?

tnx提前

        int result = 3;
        int resultMinEen = 1;
        int resultMinTwee = 2;        

        for (int i = 1; i <= 4000000; i++)
        {
            if ((i % 2) == 0 && i = resultMinEen + resultMinTwee)
            {
                result += i;
                resultMinTwee = resultMinEen;
                resultMinEen = result;
            }
        }
Run Code Online (Sandbox Code Playgroud)

Ale*_*urt 7

(i = resultMinEen + resultMinTwee)将返回一个整数.它设置i的值,这是循环变量.如果这是你打算做的,那么这是非常糟糕的做法,你应该在if测试的主体内设置第二个临时变量并使用它.如果您尝试测试i等于resultMinEen + resultMinTwee,则将其设为==(比较运算符)而不是=(赋值运算符).