c# - lambda c# 中 "() =>"的用途是什么

标签 c# lambda delegates

我一直在努力解决这个问题,这真的很困扰我。我有一些看起来像这样的代码

static T MyFunction<T>(Func<T> action, int i, int i2)
{
    ...some code here
}

当我需要调用这段代码时,我试过了

var result = MyFunction<List<string>>(MethodThatReturnsListofString(int number), 1,2)

它没有说明最佳重载具有无效参数 但是当我尝试以下操作时

var result = MyFunction<List<string>>(() => MethodThatReturnsListofString(int number), 1,2)

它工作正常。在这种情况下,“() =>”的功能是什么。我认为 () 不能用于需要超过 0 个参数的方法。

最佳答案

您正在传递一个不带参数的 lambda。
这是编写这样一个 lambda 的正确语法。

您的 lambda 恰好调用了一个带参数的函数这一事实完全无关紧要。

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

相关文章:

c# - 触发 OnPropertyChanged 的​​更好方法

c# - Math.Round for decimal

c# - 如何使用 EF Core 添加新表

c++ - 返回捕获引用的lambda

c# - 如果委托(delegate)不能重载,那么 'Func' 和 'Action' 如何有 16 个重载?

c# - 当控件聚焦时绘制边框

model-view-controller - 从 HtmlHelper 获取对象实例

带有 if 子句的 Java 8 比较器

ios - webservice调用的通用共享类

ios - iBeacon:didRangeBeacons 停止被调用,必须重置设备才能再次工作