泛型:
泛型概述:泛型可應用于類、方法、結構、接口、委托等設計中,兼復用性、類型安全和高效率于一身是與之對就的非泛型所不及的應用泛型,必須使用類system.collections.generic.stack。該類的聲明方式如下:
system.collections.generic.stack (聲明代碼)
可以把stack類想像成具有如下示意性處理過程:
stack類示意性代碼:
public class stack<> 
{ 
t[] item; 
int count; 
public void push(t item) {} 
public t pop(){} 
} 
可以為泛型設置3種類型參數的約束:派生約束、構造函數約束、引用/值類型約束
匿名方法:
匿名方法的概述:在c#1.x中,使用支持調用方法的委托來實現事件。委托提供運算符和方法來添加或刪除目標方法,也可以在整個.net框架中廣泛地用于事件、回調、異步調用、多線程等。然而,為了使用一個委托,有時不得不創建一個類或方法,這種做法過于麻煩,且與開發人員的思維習慣不相符。例如,下面的示例實現了從一個包含列表框、文本框和按鈕的窗體中獲取簡單的輸入。當按下按鈕時,文本框中的文本會被添加到列表框中。在c#1.x中,使用委托來實現事件機制,代碼如下所示
使用c#1.x的實現 代碼
class inputform:from 
{ 
listbox listbox; 
textbox textbox; 
button addbutton; 
pulic myform() 
{ 
listbox = new listbox(); 
textbox = new textbox(); 
addbutton = new button(); 
} 
........ 
void addclick(object sender,eventargs e) 
{ 
listbox.items.add(textbox.text) 
} 
} 
匿名方法允許將與一個關聯的代碼(通常指方法實體)“內嵌”到使用委托的地方,這樣委托和方法實體都集中在一起
使用匿名方法的實現代碼(無參)
class inputform:from 
{ 
listbox listbox; 
textbox textbox; 
button addbutton; 
pulic myform() 
{ 
listbox = new listbox(); 
textbox = new textbox(); 
addbutton = new button(); 
addbutton.click += delegate { listbox.items.add(textbox.text);} 
} 
}
新聞熱點
疑難解答
圖片精選