C#中匿名方法與委托的關(guān)系介紹
當(dāng)對(duì)2個(gè)數(shù)實(shí)現(xiàn)加減乘除,其中的一個(gè)解決方案是通過委托來實(shí)現(xiàn)。如下:
class Program
{
private delegate int CaculateDel(int num1, int num2);
static void Main(string[] args)
{
CaculateDel caculateDel = Add;
Console.WriteLine(caculateDel.Invoke(1,2).ToString());
Console.ReadKey();
}
static int Add(int num1, int num2)
{
return num1 + num2;
}
}以上,把Add方法賦值給了CaculateDel類型的委托變量。
如果用匿名方法來實(shí)現(xiàn),就是:
class Program
{
private delegate int CaculateDel(int num1, int num2);
static void Main(string[] args)
{
CaculateDel caculateDel = delegate(int num1, int num2)
{
return num1 + num2;
};
Console.WriteLine(caculateDel.Invoke(1,2).ToString());
Console.ReadKey();
}
} 可見,匿名方法就是委托,使用匿名方法有了更好的靈活性,不需要事先把方法寫"死"。
如果我們使用System.Diagnostics的Stopwatch的實(shí)例方法Reset、Start、Stop等來重置、開始、結(jié)束Stopwatch,用Stopwatch的ElapsedTickes屬性來顯示時(shí)間,我們可以發(fā)現(xiàn)匿名方法的效率比較高。
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
C#操作SQLite實(shí)現(xiàn)數(shù)據(jù)的增刪改查
SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫,在小型項(xiàng)目中,方便,易用,同時(shí)支持多種開發(fā)語言。本文將用C#語言對(duì)SQLite 的一個(gè)封裝,實(shí)現(xiàn)數(shù)據(jù)的增刪改查。需要的可以參考一下2022-01-01
C#實(shí)現(xiàn)多線程的幾種方式常用場(chǎng)景分析
多線程是C#中一個(gè)重要的概念,多線程指的是在同一進(jìn)程中同時(shí)運(yùn)行多個(gè)線程的機(jī)制,多線程適用于需要提高系統(tǒng)并發(fā)性、吞吐量和響應(yīng)速度的場(chǎng)景,可以充分利用多核處理器和系統(tǒng)資源,提高應(yīng)用程序的性能和效率,這篇文章主要介紹了C#實(shí)現(xiàn)多線程的幾種方式,需要的朋友可以參考下2024-05-05
結(jié)合.net框架在C#派生類中觸發(fā)基類事件及實(shí)現(xiàn)接口事件
這篇文章主要介紹了結(jié)合.net框架在C#派生類中觸發(fā)基類事件及實(shí)現(xiàn)接口事件,示例的事件編程中包括接口和類的繼承等面向?qū)ο蟮幕A(chǔ)知識(shí),需要的朋友可以參考下2016-02-02

