【发布时间】:2015-05-06 17:16:53
【问题描述】:
除了传统,我有什么理由要使用
void foo(int k) {
// stuff
}
结束
Action<int> foo = new Action
((k) => {
// stuff
});
更一般地说,正常定义我的函数而不是将它们定义为委托有什么实际优势吗?
【问题讨论】:
-
您的意思是除了更合理的语法以及它将是一个函数而不是开销的委托这一事实之外?没有...
-
根据 Jon Skeet 的说法,委托可以更快,至少在使用该方法作为回调的目标时。 stackoverflow.com/questions/2082735/…
-
作为接口方法 ... 还有:那又如何? - 你认为将糟糕的 javascript 部分引入 C# 是个好主意吗?
-
有几个性能方面的考虑。创建委托是额外的分配。另一个是委托调用不能有效内联。
-
@Damien 请参阅this article,了解间接(虚拟/接口/委托调度)对内联的影响。
标签: c# function delegates action