主要內容
1. 我們忽略的事件與委託
有關於視窗載入的系統預定義的原**的理解
2. 定義,使用委託
分兩步1. 定義要使用的委託
2. 建立例項
3. 實踐--說媒,娶媳婦的標準
4. 多播委託
1. 可以讓乙個委託去呼叫一系列的方法
2. 採用+=增加到執行序列,使用-=從序列移除
5. 匿名方法
沒有方法簽名,只有方法體
如:delegate void del;
del d=delegate(object o,eventargs e){};//注意這裡是要加分號的
6. lambda表示式
lambda表示式是乙個匿名方法,它可以包含表示式和語句,並且可用於建立委託或表示式目錄樹型別。
例:delegate void d(string msg);
d=msg=>;
d("lambda表示式");
7. 實踐--窗體互動
委託,事件的使用
邊看邊實踐,寫的**有點亂:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace con26
; //***************事件處理方式也可以是乙個匿名方法**********
test1 += delegate(string s)
;//************這是個lamada表示式,這次要好好的理解它*************
hellodelegate h1 = ss => console.writeline(ss);
h1("lamada表示式的使用");
//************這是個還兩個引數的lamada表示式,而且還有返回值*************
adddelegate add = (a, b) => a * b;
int i = add(23, 34);
//************有返回值的委託與事件*************
addmethod +=new adddelegate(addm);
console.writeline(i);
console.writeline(test(12, 23));//被委託執行的方法得到返回值
console.readkey();
}/// /// 還乙個引數,返回並列印字串
///
/// 字串引數
public static void returnmessage(string s)
/// /// 還乙個引數,返回並列印字串
///
/// 字串引數
public static void returnmessage2(string s)
/// /// 多個引數的方法
///
/// 引數1
/// 引數2
/// 返回整型
public static int test(int a,int b)
/// /// 多個引數的方法
///
/// 引數1
/// 引數2
/// 返回整型
public static int addm(int a, int b)}}
執行結果:
像lamada表示式,委託,匿名方法,擴充套件方法這些,田老師認為不必過深研究的東東,高手們用著跟玩笑似的,看來確實是高手,如果我們聽老師的不求甚解,高手寫的**還直沒辦法看的懂。多多少少還是要深入一下,只要努力多碼**,理解是早晚的事兒!
暑假第二十六測
今天又考的奇差 題解 第一題 這麼簡單一道題我想了好久,智商實在是下線了 includeusing namespace std intmain view code 第二題 我們發現e的長度很小,我們可以在上面做文章,其實每個位置對應的 strlen e 都是一樣的 我們用樹狀陣列維護rt pos l...
第二十六天總結
求多源 無負權邊的最短路 floyd演算法 floyd warshall演算法是解決任意兩點間的最短路徑的一種演算法,可以正確處理有向圖或負權的最短路徑問題,同時也被用於計算有向圖的傳遞閉包。floyd warshall演算法的時間複雜度為o n3 空間複雜度為o n2 最小生成樹 給定乙個無向圖,...
打卡第二十六天
在組合數合裡,貝爾數給出了集合劃分的數目,以數學家埃里克 坦普爾 貝爾 eric temple bell 命名,是組合數學中的一組整數數列。貝爾三角形類似於楊輝三角,只是其中各個項的計算規則不同。其規則如下 1.第一行第一項是1 2.對於n 1,第n行第一項等同第n 1行最後一項。3.對於m,n 1...