Lambda表达式替换为什么我可以使用“%”运算符而不是“>”操作者

时间:2013-05-06 17:32:47

标签: c# lambda

  return x%2 != 0; // Return true if x is odd. => ok


  return x>0 == 1; // Return true if x > 0 => this won't work

有人可以告诉我为什么第二行无效吗?为什么我不能使用">""=""<" ...运算符?

2 个答案:

答案 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;