委託、事件單獨列乙個部分來寫,專案裡面用到太多了。
類似c++中的函式指標,乙個例子:
int max(int x, int y);
delegate
int mydelegate(int a, int b);
mydelegate md = max; //例項化
int c = md(1, 2);
為了進一步簡化**,直接不定義max函式的具體實現了,於是有了匿名方法(個人感覺在簡化**的同時,**可讀性下降了)。
mydelegate md = delegate(int a, int b) //省去了max方法的單獨定義
lambda表示式對匿名方法進一步簡化(個人不習慣這麼寫,但別人寫的**得看懂)
mydelegate md = (a, b) =>
md+=
max;
md += max1; //講max1註冊到md上
md -=
max; //解除註冊
事件可以理解成對委託的封裝。
public
event mydelegate myevent;
myevent += myeventfunc1; //註冊myeventfunc1到myevent事件(利用委託的多播性)
myevent += myeventfunc2;
myevent -= myeventfunc2;
個人覺得很複雜,但純為了讀懂別人寫的**。
使用泛型的概念
1,action 傳入引數int, string,無返回值的委託
2,func傳入引數object, string,返回值為int的委託
3,predicate 傳入引數為int,返回值為bool的委託
4,delegate 傳統的
C語言知識點(三) 基礎知識
防止該標頭檔案被重複引用 對於 include,編譯器從標準庫路徑開始搜尋 filename.h 對於 include filename.h 編譯器從使用者的工作路徑開始搜尋 filename.h 1 引用本身是變數的別名,對引用的操作就是對變數本身的操作 2 引用必須要被初始化,指標可以不被初始化...
C 基礎知識點
1.單行注釋 多用於給變數注釋 2.多行注釋 多用於大段文字注釋 3.文件注釋 多用於給類和方法注釋 只能以字母 或者 符號開頭。開頭暫時不要用,它們有自己特殊的意義 後面可以跟任意的字母數字下劃線 命名法 1 camelclass駝峰命名法 變數名首單詞的首字母小寫,其餘的每個單詞的首字母大寫eg...
C 基礎知識點
主要包含c 常用語句 語言特徵 物件導向程式設計基礎 集合和索引。c 常用語句 物件導向程式設計基礎 高階程式設計 多重介面實現,c 不允許多重類繼承,但c 允許多重介面實現,定義時基類必須在介面之前,如 public class mobile phone,iusb,ibluetooth publi...