分別對幾種方法進行一億次的迴圈,每次迴圈呼叫一次相應的方法。為了防止其他的誤差,都使用空方法體。同時利用stopwatch類計時。
三種方法如下:
//傳統方法
static void n1(int a)
//泛型方法
static void n2(t a)
//使用object傳值方法
static void n3(object a)
public static void main()
sw.stop();
sw.restart();
for (int i = 0; i < t; i++)
sw.stop();
sw.restart();
for(int i = 0; i < t; i++)
sw.stop();
}
利用object進行傳值時,經歷了裝箱與拆箱的操作,效能直接下降了一倍還多。
C 泛型型別 泛型方法
泛型會宣告型別引數 泛型的消費者需要提供型別引數來把佔位符型別填充 public class stack var stack newstack int stack.push 2 stack.push 3 int x stack.pop 2int y stack.pop 3stack open typ...
C 泛型方法
泛型方法是使用型別引數宣告的方法,如下所示 static void swap ref t lhs,ref t rhs 下面的 示例演示一種使用int作為型別引數的方法呼叫方式 public static void testswap 也可以省略型別引數,編譯器將推斷出該引數。下面對 swap 的呼叫等...
C 泛型方法
using system using system.collections.generic using system.text namespace generic 呼叫泛型方法。注意 在呼叫泛型方法時,對泛型方法的型別引數例項化 public int usemethod 過載getvalue方法 p...