using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace nettest
//泛型委託
class
testgenericdelegate
public
delegate
void
stackeventhandler
(t sender, u eventargs);
class
stack/*
在泛型類和泛型方法中產生的乙個問題是,在預先未知以下情況時,如何將預設值分配給引數化型別 t:
t 是引用型別還是值型別。
如果 t 為值型別,則它是數值還是結構
給定引數化型別 t 的乙個變數 t,只有當 t 為引用型別時,語句 t = null 才有效;只有當 t 為數值型別而不是結構時,語句 t = 0 才能正常使用。
解決方案是使用 default 關鍵字,此關鍵字對於引用型別會返回 null,對於數值型別會返回零。
對於結構,此關鍵字將返回初始化為零或 null 的每個結構成員,具體取決於這些結構是值型別還是引用型別
*/public t getname()
t temp = default(t);
return temp;
public
class
stackeventargs : eventargs
public
string name
public
string message
public
event
stackeventhandler
, stackeventargs> stackevents;
public
void stackchange()
stackeventargs s = new
stack
.stackeventargs();
s.name = "jack";
s.message = "better man";
onstackchanged(s);
protected
virtual
void onstackchanged(stackeventargs e)
stackevents(this, e);
class
sampleclass
public
void handlestackchange(stack
stack, stack
.stackeventargs args)
console.out.writeline(args.message + "," + args.name);
public
void test()
stack
s = new
stack
();sampleclass o = new
sampleclass();
s.stackevents += o.handlestackchange;
s.stackchange();
console.out.writeline(s.getname());
泛型程式設計拾遺
首先請大家思考乙個問題 以下6個問題可否共享一段 答案是肯定的。採用泛型程式設計對問題進行抽象,抽取出以上問題的共性即演算法 algorithm 容器 container 和迭代器 itera 這也是stl standard template library,標準模板庫 的三要素。1 templat...
拾遺系列(五)Tips
載入原圖 uiimage image uiimage imagenamed 拉伸處理 說明需要保護的區域 image image resizableimagewithcapinsets uiedgeinsetsmake 30,30,30,30 resizingmode uiimageresizing...
C語言拾遺
main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...