c# - C#中()=>运算符的含义,如果存在的话

标签 c# .net delegates operators

我读了这条有趣的线 here ,在 Jon Skeet 的回答中。

有趣的是,他提倡使用委托(delegate):

Log.Info("I did something: {0}", () => action.GenerateDescription());

问题是,我想知道这个 ()=> 运算符是什么?我试着用谷歌搜索它,但因为它是由符号组成的,谷歌真的帮不上什么忙。我是不是在这里遗漏了什么?

最佳答案

这引入了一个没有参数的 lambda 函数(匿名委托(delegate)),它等效于并且基本上是简写:

delegate void () { return action.GenerateDescription(); }

还可以添加参数,所以:

(a, b) => a + b

这大致相当于:

delegate int (int a, int b) { return a + b; }

关于c# - C#中()=>运算符的含义,如果存在的话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3627840/

相关文章:

javascript - C# 中 ajax 函数不返回数据

c# - 关于与托管代码的互操作性,开发人员应该了解哪些内容

c# - 我如何在 .NET 中表示仅时间值?

c# - 为什么内联方法不等同于显式声明它?

c++ - QListView 样式表不适用于委托(delegate)

c# - 如何检测 UI 和游戏对象上的点击/触摸事件

c# - 顺序访问异步套接字

.net - windows服务-配置文件

c# - 将委托(delegate)定义为函数指针

c# - 使用 WCF 数据服务客户端库从 WCF 数据服务查询数据时发现有趣的问题