《你必須知道的.NET》--後來居上:class和struct(Ⅳ)

本節主要內容:類和結構區別。數組

Ⅰ、類classspa

  在.NET中,全部類都最終繼承自System.Objetct類,所以是一種引用類型,類實例化的對象的值,保存在託管堆(managed heap)中;線程

Ⅱ、結構struct對象

  結構是一種值類型,全部的結構都繼承自System.ValueType類,實例分配在線程的堆棧(stack)中;繼承

Ⅲ、爲什麼不用class徹底取代structclass

  有如下幾個地方,咱們應該考慮使用struct代替class:效率

    a.實現一個主要用於存儲數據的結構時,能夠考慮struct;變量

    b.struct變量佔有堆棧的空間,所以只試用於數據量相對小的場合;兼容性

    c.結構數組具備更高的效率;引用

    d.提供某些和非託管代碼通訊的兼容性。

相關文章
相關標籤/搜索