嗯~
今天試著用用看泛型,大概記錄一下~
default 在泛型裡面,主要是用來替代 null 和 0,也就是無…
泛型代码中的默认关键字(C# 编程指南)
簡單來說,就是當使用泛型時,無法預估該型別是一個類別或是一個數值。
像是…
public class GenericList<T> { public void DoSometing() { T temp = 0; // 錯誤,倘若 T 是類別的話,給 0 是違法的 T temp2 = null; // 錯誤,倘若 T 是一般數值,給 null 是違法的 T temp3 = default(T); // 正確,default 會根據 T 的狀況給 0 或者 null } } |
就是這樣啦!
接著是 where ~
這是在我想使用 new 這個關鍵字才發現的。
雖然最後還是把使用到的方法給搬走了就是
where(C# 参考)
对C#泛型中的new()约束的一点思考
C# where子句
之前在書中似乎沒有看到這個關鍵字,一點印象都沒有…
這裡就提一下泛型中使用 new 的方式,其餘更深入的用法有機會用到再說吧~
public class MyGenericClass <T> where T: new() { T item = new T(); } |
where 出現在<>的後方,可以多重使用、組合,詳見 C# where子句 的內文。
我在用到的時候,只需要對 new 做約束,另外繼承一個類別,應該是像這樣…
class MyGenericClass<T> : GameComponent where T : new() {…} |
先這樣囉~
–End