T:可以是任何型別 (INT,STRING,FLOAT)
WHERE:它叫做「條件約束」,MSDN 的定義:當您定義泛型類別時,可限制用戶端程式碼在執行個體化類別時,型別引數可以使用哪些型別。如果用戶端程式碼嘗試使用條件約束所不允許的型別來執行個體化類別,就會產生編譯時期錯誤。這些限制稱為條件約束。您可以使用 where 內容關鍵字指定條件約束。
T Max<T>(T a, T b) where T : IComparable<T>
{
if (a.CompareTo(b) > 0 ) return a;
else return b;
}