當對2個數實現加減乘除,其中的乙個解決方案是通過委託來實現。如下:
class program
staticint add(int num1, int num2)
}
以上,把add方法賦值給了caculatedel型別的委託變數。
如果用匿名方法來實現,就是:
class program
;
console.writeline(caculatedel.invoke(1,2).tostring());
console.readkey();
}
}
可見,匿名方法就是委託,使用匿名方法有了更好的靈活性,不需要事先把方法寫"死"。
如果我們使用system.diagnostics的stopwatch的例項方法reset、start、stop等來重置、開始、結束stopwatch,用stopwatch的elapsedtickes屬性來顯示時間,我們可以發現匿名方法的效率比較高。
lambda 委託 匿名方法
委託 delegate是c 中的一種型別,它實際上是乙個能夠持有對某個方法的引用的類。與其它的類不同,delegate類能夠擁有乙個簽名 signature 並且它只能持有與它的簽名相匹配的方法的引用。它所實現的功能與c c 中的函式指標十分相似。它允許你傳遞乙個類a的方法m給另乙個類b的物件,使得...
泛型委託匿名方法
出現了乙個這樣的問題,泛型委託使用匿名方法的時候指定泛型型別的問題。我想在試用匿名方法的時候自己為泛型委託指定泛型的型別,但是嘗試之後,發現直接使用delegate時,沒有辦法實現。例子如下 int nums string str string.join array.convertall nums,...
C 委託 使用匿名方法
使用c 委託還有另一種重要方法 通過匿名方法。其中,匿名方法是用作委託引數的乙個 塊。請看下面的例子 匿名方法的作用是使 更簡化,方便了程式設計師。如果沒有匿名方法,則定義一套事件監聽需要這樣 class program 一般來說,定義的myeventhandler方法只用來響應事件,只在上面那一處...