()=>"的目的是什么?
本文关键字:是什么 quot | 更新日期: 2023-09-27 18:13:58
我以前在Uni编程课上没有真正遇到过这种语法,我很好奇它是什么意思。
我必须实现它的唯一一次是:
-
当我必须创建一个必须添加到
ProgressChanged
事件的BackgroundWorker
Invoke((MethodInvoker)(() => updatePing((int) e.UserState)));
-
在研究使用Caliburn的教程时。微MVVM框架
NotifyOfPropertyChange(() => Count);
我试着搜索这个符号的意思,但它使用的特殊字符似乎与谷歌搜索混乱,我不知道它叫什么
=>
是lambda表达式的语法。
()
表示没有参数——如果有参数并且类型可以从上下文中推断出来,它们可以像这样指定:
(x, y) => x + y
或者显式指定类型
(int x, string y) => x + y.Length
如果只有一个形参,并且它的类型可以推断出来,则不需要括号:
x => x.Length
这是一个没有参数的lambda表达式。
你真正在做的,是传递一个delegate
(这有点像方法的变量)到你的函数
() => Count
表示类似于以下
type methodName()
{
return Count;
}