上回說了泛型函式的定義及使用方法,這回說說泛型類,所謂泛型類就是把類帶有泛型引數
class a泛型類中的t多用於定義類中的屬性或函式的返回值
如乙個類可以存2個值。我只要這麼寫:
class a用的時候,下面兩個都是合法的。public t second
}
a a=new a();系統的泛型類都是存在於system.collections.generic命名空間中,所以使用前要前using它(一般系統都預設using了)。a.first="11111asdasddfs";
a.second="vvvvv";
a a=new a();
a.first=110;
a.second=119;
列表類list:特點可以用add將新元素加入,其實可以看做是個陣列。
list l=new list();字典l.add(1);
l.add(2);
wl(l[0]);//輸出1
wl(l[1]);//轉出2
dictionary:有值有鍵,按值取鍵
dictionary d=new dictionary();這裡出現了兩個泛型定義,其實這樣寫是可以的,比如我們寫個函式定義,返回他們的字串相連後的字串。d.add("yang",5411);
d.add("guo",111);
wl(d["yang"]);//5411
wl(d["guo"]);//111
string c(t1 x,t2 y)雖然有些免強,但我想大家已經明白其意圖了。
泛型 泛型類 泛型方法 泛型擦除
1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...
泛型之泛型類
public class a 構造引數型別上使用泛型 public a t t 方法返回值上使用泛型 public t gett 方法的引數上使用泛型 這是泛型類的方法,而不是泛型方法 public void sett t t 方法的返回值和引數型別上使用泛型 public t foo t t pu...
泛型之泛型類
public class a 構造引數型別上使用泛型 public a t t 方法返回值上使用泛型 public t gett 方法的引數上使用泛型 這是泛型類的方法,而不是泛型方法 public void sett t t 方法的返回值和引數型別上使用泛型 public t foo t t pu...