1. 程式人生 > >C#結構體+結構體與類的區別

C#結構體+結構體與類的區別

C# 結構(Struct)

在 C# 中,結構是值型別資料結構。它使得一個單一變數可以儲存各種資料型別的相關資料。struct 關鍵字用於建立結構。


C# 結構的特點

您已經用了一個簡單的名為 Books 的結構。在 C# 中的結構與傳統的 C 或 C++ 中的結構不同。C# 中的結構有以下特點:

  • 結構可帶有方法、欄位、索引、屬性、運算子方法和事件。
  • 結構可定義建構函式,但不能定義解構函式。但是,您不能為結構定義預設的建構函式。預設的建構函式是自動定義的,且不能被改變。
  • 與類不同,結構不能繼承其他的結構或類。
  • 結構不能作為其他結構或類的基礎結構。
  • 結構可實現一個或多個介面。
  • 結構成員不能指定為 abstract、virtual 或 protected。
  • 當您使用 New 操作符建立一個結構物件時,會呼叫適當的建構函式來建立結構。與類不同,結構可以不使用 New 操作符即可被例項化。
  • 如果不使用 New 操作符,只有在所有的欄位都被初始化之後,欄位才被賦值,物件才被使用。

類 vs 結構

類和結構有以下幾個基本的不同點:

  • 類是引用型別,結構是值型別。
  • 結構不支援繼承。
  • 結構不能宣告預設的建構函式。