c# - "()=>"的目的是什么

标签 c#

<分区>

我之前在 Uni 的编程类(class)中并没有真正遇到过这种语法,我很好奇它的含义。

我唯一需要执行的次数是:

  1. 当我必须创建一个必须添加到 ProgressChanged 事件的 BackgroundWorker

    Invoke((MethodInvoker)(() => updatePing((int) e.UserState)));

  2. 在研究使用 Caliburn.Micro MVVM 框架的教程时

    NotifyOfPropertyChange(() => Count);

我曾尝试搜索这个符号的含义,但它使用的特殊字符似乎与谷歌搜索混淆,我不知道它叫什么。

最佳答案

=>lambda expression 的语法.

() 表示没有参数 - 如果有参数并且可以从上下文推断出类型,则可以将它们指定为如下所示:

(x, y) => x + y

或者明确指定类型

(int x, string y) => x + y.Length

如果只有一个参数并且可以推断出它的类型,则不需要括号:

x => x.Length

关于c# - "()=>"的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16571680/

相关文章:

c# - 如何获得对象或结构列表中项目的不同值?

c# - 在 while 循环中获取变量已声明的错误

c# - 从 dll 文件加载 Prism 模块(在启动时)

c# - 如何让我的 WPF 应用程序在 C# 中作为服务运行?

c# - 具有 WebAPI OData 属性路由的 $Metadata 不工作

c# - 有没有办法在 asp 图像控件上显示动态生成的位图?

c# - 如何在 C# 中创建类 A,其中 A 只能由 B、C、D 继承?

c# - ASP.NET Web Api 返回 XML 和获取 XML

c# - 在 Visual Studio 2013 中调试期间筛选对象列表

c# - 多个列表 <double> 到锯齿状数组 C#