C# 快速導覽 - 泛型







google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "7187368929";
google_ad_width = 728;
google_ad_height = 15;














google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "4683073635";
google_ad_width = 728;
google_ad_height = 90;












公告



《如何自學程式設計》入選 Google Play 台灣地區2016年度最佳書籍|本站於 Google Play 銷售電子書。
預計之後會調整本站內容,凡是有兩個版本的教材,舊版本將刪除。













google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "5435125940";
google_ad_width = 728;
google_ad_height = 15;


























C# 快速導覽 - 泛型






泛型 (generic) 是一種定義通用型態 (type) 的程式設計,這是用另定識別字 (identifier) 的方式,該識別字可以當作各種型態。



舉例如下
public class Demo<T> {
private T a;

public Demo(T p) {
a = p;
}

public void DoSomething() {
System.Console.WriteLine(a);
}
}

class DemoTest {
static void Main() {
Demo<string> d1 = new Demo<string>("There is no spoon.");
d1.DoSomething();
Demo<int> d2 = new Demo<int>(3121);
d2.DoSomething();
}
}

/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:generic1.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */



Demo 後角括弧中的 TT 亦即通用型態的識別字
public class Demo<T> {



實際建立物件時,須明確宣告 T 所表示的型態
Demo<string> d1 = new Demo<string>("There is no spoon.");
d1.DoSomething();
Demo<int> d2 = new Demo<int>(3121);
d2.DoSomething();



編譯執行,結果如下



這樣的識別字也可以有多個,下例示範使用兩個識別字 TU
public class Demo<T, U> {
private T a;
private U b;

public Demo(T p1, U p2) {
a = p1;
b = p2;
}

public void DoSomething() {
System.Console.WriteLine("{0} {1}", a, b);
}
}

class DemoTest {
static void Main() {
Demo<string, string> d1 = new Demo<string, string>("There is no spoon.", "Free your mind.");
d1.DoSomething();
Demo<int, double> d2 = new Demo<int, double>(3121, 123.4);
d2.DoSomething();
}
}

/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:generic2.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */



編譯執行,結果如下



















中英文術語對照
泛型generic
型態type
識別字identifier



您可以繼續參考

泛型
多型
迭代器
名稱空間



相關目錄

回 C# 快速導覽
回 C# 教材
回首頁



參考資料

Standard ECMA-334 C# Language Specification
msdn: 泛型 (C# 程式設計手冊)







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "5963585466";
google_ad_width = 728;
google_ad_height = 15;












Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

qBittorrent 4.1.1 免安裝中文版 - 取代uTorrent的BT下載器

嘸蝦米輸入法免安裝版 1.0.13.589 - 唯一只用英文字母輸入的中文輸入法