泛型可獨立用於方法,依參數型別自動適配:
public class Stack2
{
public void Push<T>(Stack<T> s, params T[] p)
{
foreach (T t in p) s.Push(t);
}
}
呼叫:x2.Push(x, 1, 2, 3, 4, 6); 一次推入多個值。
C# 1.x:靜態成員在所有實例間共享。C# 2.0:相同封閉型別共享,不同封閉型別不共享。
Stack<int> a = new Stack<int>();
Stack<int> b = new Stack<int>(); // a、b 共享靜態成員
Stack<long> c = new Stack<long>(); // c 與 a、b 不共享
因不同型別參數產生完全不同的型別。