Friday, March 04, 2011

Struct VS Class Performance(ZT)

以前有过讨论,实际上struct是很不应该滥用的。
以下情况不应使用struct:
1、需要继承扩展的类型
2、包含引用类型成员的类型
3、不参与运算的类型
4、字段很多的类型
值类型的优势在于储存在堆栈上,劣势在于值传递。储存在堆栈上所以值类型很适合用来运算,譬如说你要在同一个函数中大量使用同一类型,如int,值类型就很有优势,因为堆栈的速度比托管堆要快很多。值类型的劣势在于值传递,这样就造成无论调用什么函数,值类型都会被复制一份,赋值的时候也会被复制一份。大数据量的值类型显然会带来不小的开销,并且如果需要频繁赋值和函数调用的时候。

0 Comments:

Post a Comment

<< Home