當前位置:
首頁 > 知識 > C 結構(Struct)

C 結構(Struct)

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

C 結構(Struct)

結構是用來代表一個記錄。假設您想跟蹤圖書館中書的動態。您可能想跟蹤每本書的以下屬性:

  • Title

  • Author

  • Subject

  • Book ID

C 結構(Struct)

定義結構

為了定義一個結構,您必須使用 struct 語句。struct 語句為程序定義了一個帶有多個成員的新的數據類型。

例如,您可以按照如下的方式聲明 Book 結構:

struct Books

下面的程序演示了結構的用法:

using System;

當上面的代碼被編譯和執行時,它會產生下列結果:

Book 1 title : C Programming

C 結構(Struct)

C# 結構的特點

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

  • 結構可帶有方法、欄位、索引、屬性、運算符方法和事件。

  • 結構可定義構造函數,但不能定義析構函數。但是,您不能為結構定義默認的構造函數。默認的構造函數是自動定義的,且不能被改變。

  • 與類不同,結構不能繼承其他的結構或類。

  • 結構不能作為其他結構或類的基礎結構。

  • 結構可實現一個或多個介面。

  • 結構成員不能指定為 abstract、virtual 或 protected。

  • 當您使用 New 操作符創建一個結構對象時,會調用適當的構造函數來創建結構。與類不同,結構可以不使用 New 操作符即可被實例化。

  • 如果不使用 New 操作符,只有在所有的欄位都被初始化之後,欄位才被賦值,對象才被使用。

類 vs 結構

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

  • 類是引用類型,結構是值類型。

  • 結構不支持繼承。

  • 結構不能聲明默認的構造函數。

針對上述討論,讓我們重寫前面的實例:

using System;

當上面的代碼被編譯和執行時,它會產生下列結果:

Title : C Programming

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

C 枚舉(Enum)
C 類(Class)
C 繼承
C 字元串(String)
C 循環

TAG:程序員小新人學習 |

您可能感興趣

C 結構體(Struct)
Classical CNN models:LeNet-5 模型結構詳解
書單推薦包裝設計包裝的結構藝術II Structural Packaging Art
Section 14-Halcon實戰寶典之數據結構
新品|高速導波結構:Inakustik Reference LS-1603 Silver音箱線
ViewController的層級結構
結構設計 + OW 配色!Nike Blazer Rebel Mid 新品登場
DeepMind 團隊 CASP 奪冠:用 AlphaFold 預測蛋白質結構
Ringlock System錶殼結構是什麼?
Mater Sci Eng C Mater Biol Appl:孔隙結構對3D列印多孔鈦植入物骨植入的影響
Motheye Textuie的增透表面結構
Science丨施一公組報道釀酒酵母pre-B complex狀態剪接體電鏡結構
校園公共建築設計:法國吉索爾Louise Michel and Louis Aragon 活動中心/鋼結構
9.20 VR掃描:Oculus高端一體機Santa Cruz專利曝光,泄露其內部結構
旅遊建築設計:巴西Children Village/木結構.紅磚
從結構到性能,概述XGBoost、Light GBM和CatBoost的同與不同
公共文化建築設計:美國拉斯維加斯Cleveland Clinic Lou Ruvo腦健康中心/鋼結構、扭曲、異形
2019計算機體系結構最高獎Eckert-Mauchly公布,Mark D. Hill獲獎
從結構到性能,一文概述XGBoost、Light GBM和CatBoost的同與不同
機能結構造型!全新 React Runner Mid 官圖釋出!