我之前在Uni的编程课程中没有真正遇到过这种语法,我很好奇它的含义.
我必须实现它的唯一时间是:
当我必须创建一个BackgroundWorker
必须添加到ProgressChanged
事件
Invoke((MethodInvoker)(() => updatePing((int) e.UserState)));
在研究使用Caliburn.Micro MVVM框架的教程时
NotifyOfPropertyChange(() => Count);
我试着搜索这个符号的含义,但它使用的特殊字符似乎与谷歌搜索混淆,我不知道它叫什么.
Jon*_*eet 22
的=>
为语法lambda表达式.
这()
表示没有参数 - 如果有参数并且可以从上下文推断出类型,则可以将它们指定为:
(x, y) => x + y
Run Code Online (Sandbox Code Playgroud)
或明确指定类型
(int x, string y) => x + y.Length
Run Code Online (Sandbox Code Playgroud)
如果只有一个参数并且可以推断出其类型,则不需要括号:
x => x.Length
Run Code Online (Sandbox Code Playgroud)
Sam*_*ica 10
这是一个没有参数的lambda表达式.
你真正在做的是将一个delegate
(有点像方法的变量)传递给你的函数
() => Count
表示类似于以下的方法
type methodName()
{
return Count;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
370 次 |
最近记录: |