C 泛型方法 傳統方法與object傳值效能的比較

2021-10-08 22:30:42 字數 539 閱讀 6317

分別對幾種方法進行一億次的迴圈,每次迴圈呼叫一次相應的方法。為了防止其他的誤差,都使用空方法體。同時利用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...