C# 結構與類


  • 結構是一種可以包含數據成員和方法成員的值類型數據結構。為結構分配數據時不需要從托管堆中分配內存,結構類型的變量直接包含了該結構的數據。結構中可以包含構造函數,常量,字段方法,屬性,運算符,事件和嵌套類型等,但如果要同事包括上述幾種成員,則應該考慮使用類。

使用結構對於小的數據結構特別有用,能夠節省大量的分配內存,如復數和坐標系中的點。

結構具有以下特點:

結構是值類型。

向方法傳遞結構時,是通過傳值方式傳遞的,而不是作為應用傳遞的。

結構的實例化可以不使用new運算符。

機構可以聲明構造函數,但它們必須帶參數。

一個結構不能從另一個結構或類繼承。所有結構都直接繼承自 system.valueType。

結構可以實現接口。

在結構中初始化實例字段是錯誤 的。

  • 結構和類的區別

結構是值類型,它在棧上分配數據,並且結構的賦值將分配產生一個新的對象;而類是引用類型,它在堆上分配數據,對類的對象進行賦值時只是復制了引用,它們都指向同一個實際對象分配的內存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM