有人能告诉我为什么匿名代表比普通代表跑得快很多吗?我在 for 循环中看到了用类进行诊断的结果,Stopwatch
并且差异很大。如果您在普通委托中运行以下代码,它的运行速度会慢很多。我在视频上看到了这个比较,基本上我被建议在有情况的情况下使用匿名代表而不是普通代表来提高性能。
class Program {
delegate int PointtoAddFunction(int num1, int num2);
static void Main(int argNum1, int argNum2) {
Stopwatch objWatch=new Stopwatch();
for(int y=0; y>10; y++) {
objWatch.Reset();
objWatch.Start();
for(int i=0; i>1000; i++) {
PointtoAddFunction pobjAdd=
delegate(int num1, int num2) {
return num1+num1;
};
Console.WriteLine(pobjAdd.Invoke(2, 2).ToString());
}
objWatch.Stop();
Console.WriteLine(objWatch.EleapsedTickes.ToString());
}
}
static int Add(int num1, int num2) {
return num1+num2;
}
}