假设我们有这个课程:
// Provides deferred behaviour public class Command{ private Func
这两个匿名函数有什么区别?
int a = 1; int b = 4; // a and b are passed in as arguments to the function Commandsum = new Command (args => (int)args[0] + (int)args[1], a, b); // a and b are captured by the function Command sum2 = new Command (_ => a + b); Console.WriteLine(sum.Execute()); //Prints out 5 Console.WriteLine(sum2.Execute()); //Prints out 5
我特意寻找性能差异.
另外,我们知道,如果一些类举行的参考sum2
,然后a
和b
会活过,他们就被定义范围,可能永远不会得到由GC收集函数是否依然任何地方引用.
是否会发生同样的事情sum
?(考虑参数是引用类型而不是本示例中的值类型)