为什么> =工作但=>不?

The*_*der 3 c# operators

检查整数是否与当前数字相同或更高时..所以我输入

if (5 => 6) { //Bla } 
Run Code Online (Sandbox Code Playgroud)

但它显示这是一个错误.为什么?是不是完全相同

if (5 >= 6) { //Bla } 
Run Code Online (Sandbox Code Playgroud)

gid*_*eon 13

它不起作用的原因是因为=>不等同于>=.

=>用于lambda表达式.喜欢 :

(int x, string s) => s.Length > x
Run Code Online (Sandbox Code Playgroud)

我同意这很烦人.在lambda表达式之前,我曾经常常弄错了.现在我总是知道one(=>)是一个lambda表达式,而other(>=)大于等于 sign


Chr*_*isF 11

因为运营商>=不是=>.

语言的编写者可以选择任一种语法,但必须选择一种语法.让两个运营商意味着同样的事情会让人感到困惑.

但是,操作符被读为"大于或等于",因此>符号首先是有意义的.

此外=>,现在使用Lambda表达式.


Bol*_*ock 6

因为=>是用于lambda表达式:

Action<object> print = o => Console.WriteLine(o);
print(123);
Run Code Online (Sandbox Code Playgroud)

此外,你没有说"等于或大于",这是=>本来会发出的其他声明.


Bar*_*rry 5

这里的混乱是你假设> =是两个操作员一起被吹嘘.实际上,它只有一个具有两个字符的运算符,与其他运算符(+ =,*=, - =等)相同.