return x%2 != 0; // Return true if x is odd. => ok
return x>0 == 1; // Return true if x > 0 => this won't work
有人可以告诉我为什么第二行无效吗?为什么我不能使用">"
,"="
,"<"
...运算符?
答案 0 :(得分:7)
因为x > 0
是布尔值,而不是int。
您可以使用return x > 0;
答案 1 :(得分:1)
>
是比较运算符,它返回一个布尔值。
简单地
public bool FooBar(int x)
{
return x > 0;
}
在您提出的所有操作员中,除=
外,所有操作员都可以使用。它是C#中的赋值运算符。所以你做不到
return x = 1;
但你可以做到
return x == 1;
OR
return x < 1;