哪个更好:委托{}或()=> {}

时间:2011-06-17 08:19:47

标签: c#

我今天想知道是否有任何理由更喜欢使用 delegate {} 而不是()=> {} ,在您需要空函数的情况下。

你知道有什么理由喜欢一个而不是另一个吗?

2 个答案:

答案 0 :(得分:7)

他们不是一回事。

由于delegate {}不提供参数列表,因此它can be converted给返回void的委托并获取任意数量的参数(ref和{{1}除外参数)。

这与out不同,后者被明确声明为不带参数。

答案 1 :(得分:2)

我相信它们被编译成相同的代码(如果lambda被编译成一个委托而不是一个表达式,如果在使用委托的地方使用它的话)。

我喜欢lambda,主要是因为它的字符较少而 i 认为它的可读性不高。