您好,登錄后才能下訂單哦!
本篇內容介紹了“C#結構體的特點是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
C#結構體的特點是什么呢?讓我們來看看:
C#結構體之struct 類型是一種值類型,通常用來封裝小型相關變量組,例如,矩形的坐標或庫存商品的特征。下面的示例顯示了一個簡單的結構聲明。
public struct PostalAddress { // Fields, properties, methods and events go here... }
結構與類共享幾乎所有相同的語法,但結構比類受到的限制更多:
盡管結構的靜態字段可以初始化,結構實例字段聲明還是不能使用初始值設定項。
結構不能聲明默認構造函數(沒有參數的構造函數)或析構函數。
C#結構體之結構的副本由編譯器自動創建和銷毀,因此不需要使用默認構造函數和析構函數。實際上,編譯器通過為所有字段賦予默認值(參見默認值表)來實現默認構造函數。結構不能從類或其他結構繼承。
結構是值類型 -- 如果從結構創建一個對象并將該對象賦給某個變量,變量則包含結構的全部值。復制包含結構的變量時,將復制所有數據,對新副本所做的任何修改都不會改變舊副本的數據。由于結構不使用引用,因此結構沒有標識 -- 具有相同數據的兩個值類型實例是無法區分的。C# 中的所有值類型本質上都繼承自 ValueType,后者繼承自Object。
C#結構體之編譯器可以在一個稱為裝箱的過程中將值類型轉換為引用類型。
C#結構體之結構具有以下特點:
結構是值類型,而類是引用類型
向方法傳遞結構時.結構是通過傳值方式傳遞的,不是作為引用方式傳遞.
與類不同,結構的實例化可以不使用new運算符.
結構可以聲明構造函數,但他們必須帶參數
一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。所有結構都直接繼承自 System.ValueType,后者繼承自 System.Object。
C#結構體之結構可以實現接口。
在結構中初始化實例字段是錯誤的。
“C#結構體的特點是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。