一、引用類型性能
FCL(Framework)中的大多數類型都是引用類型,引用類型老是在託管堆中分配的,C#的new操做符會返回對象的內存地址,也就是指對象數據的內存地址。在使用引用類型時,存在如下性能問題,這是咱們在開發中必需要注意的:對象
a、內存必須從託管堆上分配(也就是說每new一個對象,會佔用內存,對象過多就會致使內存佔用)內存
b、 堆上分配的每一個對象都有一些額外的成員,這些成員必須初始化開發
c、對象中的其餘字節(爲字段而設),老是設爲0垃圾回收
d、從託管堆中每分配一個對象,可能強制執行一次垃圾回收操做引用
因此當咱們的應用程序中都是引用類型時,應用程序的性能會顯著降低。float
二、值類型程序
上面介紹了引用類型,知道了當從託管堆中每分配一個對象時,都會形成應用程序性能的降低。設想當使用Int32類型初始化一個數字6或者使用float初始化一個浮點數6.6的時候,都進行一次內存的分配,那麼應用程序的性能會受到嚴重的影響.爲了提供應用程序的性能,CLR提供了名爲"值類型"的輕量級類型.數據