欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#中的委托-創(chuàng)新互聯(lián)

C#中的委托類似于C++中的一種特殊的指針:指向函數(shù)的指針。通過定義指向函數(shù)的指針,在程序中我們就可以靈活的調(diào)用多個函數(shù),當(dāng)然,前提是這些函數(shù)的返回類型和參數(shù)列表的個數(shù)和類型都相同。通過指向函數(shù)的指針,我們還可以將函數(shù)作為另一個函數(shù)的參數(shù)。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、高密網(wǎng)站維護(hù)、網(wǎng)站推廣。

首先復(fù)習(xí)一下C++中的指向函數(shù)的指針。

1:定義。格式如下:

返回類型 (*指針變量名)(參數(shù)類型列表)注意:參數(shù)類型列表中只有參數(shù)類型和個數(shù),沒有形參名。

如:

double (*fp)(double, double)

2:函數(shù)指針的賦值。

格式:指針變量名 = 函數(shù)名

注意:函數(shù)名所代表的函數(shù),其返回類型和參數(shù)列表必須和函數(shù)指針的定義中的參數(shù)相同。

假如有以下的兩個函數(shù):

double multiple(double p1, double p2)
{
    return p1 * p2;
}
double divide(double p1, double p2)
{
    return p1 / p2;
}

在程序中就可以將這兩個函數(shù)賦給指針fp并且使用了。

如:

fp = multiply;
fp(1.0, 2.0);    //等同于調(diào)用函數(shù)multiply(1.0, 2.0);
fp = divide;
fp(4, 2);    //等同于調(diào)用函數(shù)divide(4, 2);

3:利用函數(shù)指針將函數(shù)作為另一函數(shù)的參數(shù)。

因?yàn)橹赶蚝瘮?shù)的指針就是一個指針變量,所有可以將其作為函數(shù)的參數(shù)。

如:

void doSomething(double (*fp)(double, double), double p1, double p2)
{
    cout << fp(p1, p2) << endl;
}

C#中的委托也是如此。

首先要定義委托類型的變量;

然后要對變量進(jìn)行賦值;

最后是調(diào)用。

1:委托類型的定義:使用關(guān)鍵字delegate。

格式:delegate 返回類型 委托類型名(形參列表)   

注意:與C++中的函數(shù)指針不同,在定義委托類型的形參列表中,除了要給出類型,還有給出形參名。類似于在定義函數(shù)原型時,加了個delegate關(guān)鍵字。

如:

delegate double MyDelegate(double p1, double p2);

注意:此處的MyDelegate并不是一個變量,而是類似于類的一個類型,在使用該委托時還有定義該類型的變量。

2:定義委托類型的變量。

格式:委托類型名 變量名;

3:委托變量的賦值和調(diào)用

假如程序中有以下兩個函數(shù):

double Multiply(double p1, double p2)
{
    return p1 * p2;
}
double Divide(double p1, double p2)
{
    return p1 / p2;
}

有兩種方法可以給委托變量賦值

MyDelegate myDelegate;    //定義委托類型的變量
myDelegate = new MyDelegate(Multiply);    //賦值方法1
Console.WriteLine(myDelegate(2.0, 3.0));    //委托變量的使用
myDelegate = Divide;        //賦值方法2
Console.WriteLine(myDelegate(4, 2));

4:將委托用于函數(shù)參數(shù)。和C++的函數(shù)指針略有不同。

例:

void Test(MyDelegate myDelegate)
{
    myDelegate(3, 4);
}

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

名稱欄目:C#中的委托-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://chinadenli.net/article22/ddiijc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、云服務(wù)器、品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化