為了區分類和結構,我們必須先了解結構和類別在保存和定義資料的上下文中似乎是等效的。這兩者都可以在其資料成員中定義並保存一些預設值。但是,如果我們超越這個上下文來考慮它們,那麼與結構相比,類別提供了更多的靈活性和功能。
以下是類別和結構之間的重要區別。
Sr.編號 | 鍵 | #類別 | 結構 | tr>
---|---|---|---|
1 | |||
類別中定義的資料作為引用存儲在記憶體中,並且具有特定的地址以便訪問,因此可以將其表示為類別是引用類型。 | 另一方面,在結構的情況下資料成員的值直接儲存在堆疊或內聯包含類型中,因此結構被視為值類型。 | td> | 2 |
如上所述,在Class 的情況下,資料成員作為引用存儲,並且引用類型分配在堆記憶體上。 | 另一方面,在結構中直接儲存值,因此值類型分配在堆疊記憶體上。 | 3 | |
類別可以使用建構子和解構函數來定義,因為它已經實現了其功能。 | 另一方面,結構不能有建構子或解構函數,因為其中沒有提供此類實作。 | 4 | |
作為透過建構函式引入的類,借助該類別可以使用 new 關鍵字實例化其實例。 | 另一方面,結構不需要new關鍵字即可建立實例。 | 5 | |
另一方面,結構不支援繼承。 | 6 |
以上是C# 中類別和結構的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!