繁体   English   中英

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

[英]Lambda expression replace why can I use “%” operator and not the “>” operator

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


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

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

因为x > 0是布尔值,而不是整数。

您可以使用return x > 0;简化此过程return x > 0;

>是比较运算符,它返回一个布尔值。

只是

public bool FooBar(int x)
{
    return x > 0;
}

在您要求的所有运算符中,除=之外,所有运算符都可以工作。 它是C#中的赋值运算符。 所以你做不到

return x = 1;

但是你可以做

return x == 1;

要么

return x < 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM