委託的初步學習

2022-02-02 23:02:53 字數 1996 閱讀 2108

今天我們休息啦,所以那也沒有學習好多的啦,但是前幾天我們學習了委託,只是簡單地知道了概念,簡單的知道委託的引數是乙個方法啦,我總是感覺自己沒有掌握的啦,所以想有時間啦在總結一下的啦,但是我之前上課聽得還太過簡單的啦,以至於再多乙個方法,頂乙個委託型別的引數都不知道,感覺對於委託這個知識點還是要練習的啦,而見天學習的也沒有多少啦,現總結一下吧,再好好的想一想啦,下面就簡單的總結下我寫的例題吧。

一.初步認識委託

delegate

int method(int a,int

b);

class

program

static

int add(int a,int

b)

}

這個就是僅僅初步認識什麼是委託,按照委託的定義寫的乙個小例子,其實也沒什麼意義的啦。

二.定義乙個委託了型別的引數

delegate

int delmethod(int a,int b);

class

program

static

void test(int a, int b, delmethod t) //

在這裡需要注意引數可以是乙個委託,而t則是乙個方法的形參

#endregion

static

int add(int a, int

b)

static

int minus(int a, int

b)

}

在這裡需要注意的是方法test中的引數,定義了兩個int型別的引數,另外乙個可以看出來是乙個委託型別的引數,而這個引數是乙個方法,在這裡引數為形參,這是我應該注意的啦,所以下面就呼叫了方法傳參,在這裡需要注意的是,委託相當於乙個型別,所以可以定義引數的啦。

三.匿名方法的簡單使用

delegate

string delprocess(string str);

class

program

;delprocess del = delegate(string s) //

在這裡是匿名方法的使用

; stringstr(str,del);

//呼叫方法傳引數

for (int i = 0; i < str.length; i++) //

因為是陣列,所以便利輸出

console.read();

}static

void stringstr(string str, delprocess del) //

在這裡委託傳的引數為string,而del引數可以維陣列嗎?

}static

string toupper(string

arr)

static

string tolower(string

str)

}

在這裡我們使用的是乙個匿名方法,我定義了乙個陣列,有點奇怪的是stringstr方法中的del方法,我定義的委託時乙個string型別的,在這裡為什麼可以傳陣列為引數,在這裡還是有點迷茫的啦,感覺學習委託這個還是要好好的練習的啦,多使用幾次的啦,嘿嘿。

四.匿名方法吧的單獨使用

class

program

;dt("a

"); //

適用物件傳參

console.read();

}}

在這裡需要注意的是物件傳參的啦,嘿嘿,其實就是簡單地介紹一下匿名方法,在這裡使用其實也沒什麼意義的啦,都只是初步的介紹一下的啦,以後使用啦可以再這樣下例子的基礎上面加深理解啦。

好啦,今天的委託的使用就簡單的介紹到這裡吧,還沒有總結玩的啦,我明會繼續補充的啦,感覺這個是一定要整明白啦,不能模模糊糊的就過去的啦,嘿嘿。

對委託的初步了解

委託 delegate 簡單來說,就是我們生活中乙個人委託另外乙個人去執行某件事,給出相應的指令,讓他去做這件事情。例項化委託 宣告 把要用的方法放到委託列表中,可以放多個方法 也可 要注意是否給出了引數,宣告的引數個數 型別要與返回值的一致。委託和類一樣,是資料型別,相當於c 的函式指標,可以把它...

C 委託及事件委託的初步理解

委託的宣告 public delegate void mydelegate string str 委託是一種特殊的型別 class 用途是來實現對一種方法的封裝。在某種事件發生時,自動呼叫該方法。好處顯然易見,它使使用者可以自定義自己的方法實現,通過封裝,clr會在相應事件激發時呼叫你定義的方法,實...

C 委託及事件委託的初步理解

委託的宣告 public delegate void mydelegate string str 委託是一種特殊的型別 class 用途是來實現對一種方法的封裝。在某種事件發生時,自動呼叫該方法。好處顯然易見,它使使用者可以自定義自己的方法實現,通過封裝,clr會在相應事件激發時呼叫你定義的方法,實...