匿名の代理人が通常の代理人よりもはるかに高速に実行される理由を誰かに教えてもらえますか?Stopwatch
forループでクラスを使用して診断した結果を確認しましたが、その違いは重要でした。以下のコードを通常のデリゲートで実行すると、実行速度が大幅に低下します。私はこの比較をビデオで見ました。基本的に、状況があれば、パフォーマンスのために通常の代理人よりも匿名の代理人を使用するようにアドバイスされました。
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;
}
}