泛型委託深入

2022-05-08 13:18:14 字數 1101 閱讀 3741

1) 隱式型別var的使用

static void main(string args)        

; //不需要定義類的名稱

console.writeline(person.name);

//如果使用object,訪問不了匿名類的屬性name和age,如果想訪問的到,可以使用反射!

console.readkey();

}

2)匿名函式和lambda表示式的使用

internal delegate int demoadd(int a, int b);

class program

;//以上用lambda表示式,=>表示成goto

demoadd lamdademoadd = ( a, b) => ;

demoadd lamdademoadd1 = ( a, b) => a + b;

console.readkey();

}}

3)泛型委託

internal delegate int demoadd(int a, int b);

//定義泛型返回值

delegate t demoadd(int a ,int b);

//引數也定義泛型

delegate t demoadd1(t1 a, t2 b);

class program

}

4)func委託 ,可以使用此委託表示一種能以引數形式傳遞的方法,而不用顯式宣告自定義委託。 封裝的方法必須與此委託定義的方法簽名相對應。 也就是說,封裝的方法必須具有乙個通過值傳遞給它的引數,並且必須返回值。

//

func與action的區別:action是沒有返回值,func有返回值

internal

delegate tresult func(

t args

);class

program

private

static

string uppercasestring(string

inputstring)

}

泛型 二 泛型委託

using system using system.collections.generic using system.linq using system.text namespace 泛型委託 public event stackeventhandler,stackeventargs stackev...

泛型委託Predicate

此委託返回乙個bool值,該委託通常引用乙個 判斷條件函式 需要指出的是,判斷條件一般為 外部的硬性條件 比如 大於50 而不是由資料自身指定,不如 查詢陣列中最大的元素就不適合 例子一 class program static void main string args i listall lst...

泛型委託例項

先來看一下典型的window控制項的事件處理方式,舉兩個例子,乙個button的mouseclick事件,乙個linklabel的linkclicked事件 this button1.mouseclick new system.windows.forms.mouseeventhandler this...