bool stop = false;
           int f1 = 1;
           int f2 = 2;
           int f3 = 0;
           int sum = 2;
           while (!stop)
           {
               f3 = f1 + f2;
               sum += f3 % 2 == 0 ? f3 : 0; //THIS ONE
               stop = f3 > 4000000 ? true : false;//AND THIS ONE.
               f1 = f2;
               f2 = f3;
           }


该条件运算符是什么?这是我第一次看到这样的东西。

最佳答案

该行:

sum += f3 % 2 == 0 ? f3 : 0; //THIS ONE


是相同的:

if (f3 % 2 == 0)
  sum += f3;
else
  sum += 0;


当然可以改写成

if (f3 % 2 == 0) sum += f3;


和线

stop = f3 > 4000000 ? true : false;//AND THIS ONE.


是相同的

if (f3 > 4000000)
   stop = true;
else
   stop = false;


或者更好:

stop = f3 > 4000000;

关于c# - 有人可以向我解释这段简短的代码吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1581026/

10-13 08:57