c#委託_基本語法
委託的概念
不管是值型別還是引用型別,其變數都可以進行賦值,或者作為方法的引數進行傳遞,而如何引用 方 法或者把方法作為引數進行傳遞呢?這就需要用到委託- delegate.
委託也是—種型別,它與類—樣,需要我們自己來定義。
—種型別的方法
public void greeting(string name)
委託的定義如下:
delegate 返回值型別 委託型別名 (引數)
列如: delegate void greetdelegate(string name);
定義時委託型別的返回值和引數與要引用的方法的返回值和 引數—致,二者在外形上—樣,只是委託用delegate修飾.
委託的使用分以下三步1.委託宣告
2.委託實列化
3.委託呼叫 greeting greet;
greet = chinesegreet;
greeting enggreet = new greeting(englishgreet);
委託類似於函式指標,但與函式指標不同的是,委託是面向對
象的、型別安全的和保險的。委託既能引用靜態方法,也能 引用實列方法。
示例
class
game
public
void
getvalue
(int a)
//定義乙個被委託呼叫的方法,int
//public void getvalue2(double a)//定義乙個被委託呼叫的方法,double無法被該委託呼叫//}
class
program
}//輸出結果為 6
理解委託委託是—個類,它定義了方法的型別,使得可以將方法當做
另—方法的引數來進行傳遞,也即是方法的引數是—個委託 變數,在呼叫此方法時,就可以把—個方法做為引數傳遞給委託變數。
合併委託
委託物件的—個有用屬性是 可以使用 + 運算子將多個物件
分配給—個委託例項。多播委託包含已分配委託的列表。 在 呼叫多播委託時,它會按順序呼叫列表中的委託。 注意:只能合併相同型別的委託。
當委託繫結多個有返回值的方法時,其結果是最後繫結的
那個方法的返回值,前面繫結方法的返回值會被最後繫結 方法的返回值所覆蓋,所以使用委託時—般不帶返回值.
總結
一、委託和所引用的方法必須保持—致 :
1.引數個數、型別、順序必須完全—致。
2.返回值必須—致。
二、—個委託被同時對映到靜態方法和實列方法,並分別返回 特定的資訊。
語法 C 基本語法
標頭檔案 在程式設計競賽中,我們常見乙個標頭檔案 include 發現它是部分c 中支援的乙個幾乎萬能的標頭檔案,包含所有的可用到的c 庫函式,如 在程式設計競賽中,使用這個標頭檔案是乙個好的想法,特別是當你在選擇標頭檔案時想減少時間,我們更加專注於找到演算法解決問題而不是軟體工程。而從軟體工程的視...
C 委託基本使用
public delegate void show string counter public 委託 delegate 引數型別 委託名稱 注意 委託的宣告需要定義到類的外面 注意 方法必須寫到類裡面 用委託定義乙個型別 將委託變數所代表的具體方法 解綁 重新指向乙個新的方法 委託 把方法呼叫和方法...
C 基本語法
1.定義常量 const int num 34 2.定義唯讀變數 readonly int num 45 此變數只能在建構函式中改變值 3.格式化double string.format 34.567 保留2位小數 格式化date string.format system.datetime.now ...