C# 哪个更可取:委托{}或()=>;{}

C# 哪个更可取:委托{}或()=>;{},c#,C#,今天我想知道,在需要空函数的情况下,是否有任何理由更喜欢使用委托{}而不是()=>{} 你知道有什么理由喜欢一个而不是另一个吗?我相信它们被编译成了相同的代码(如果lambda被编译成一个委托而不是一个表达式,如果在使用委托的地方使用它就会被编译成一个表达式) 我更喜欢lambda,主要是因为它的字符更少,而且我不认为它的可读性更低。它们不是一回事 由于delegate{}不提供参数列表,因此它将发送给返回void并获取任意数量参数(除了ref和out参数)的委托 这与()=>{}不同,后者被明

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


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

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


我更喜欢lambda,主要是因为它的字符更少,而且我不认为它的可读性更低。

它们不是一回事

由于
delegate{}
不提供参数列表,因此它将发送给返回
void
并获取任意数量参数(除了
ref
out
参数)的委托


这与
()=>{}
不同,后者被明确声明为不带参数。

选择您认为最可读的参数。我更喜欢后者,但那只是我的主观偏好。为什么人们会投票来结束这场辩论?这是一个完全正确的问题。就OP而言,他可能忽略了一个差异。问题是警察又来了!我想提醒大家,我们是来帮助人们的。不是每个问题都必须是深入的和技术性的,我不知道我能写:Action f=delegate{};谢谢你的解释:)