類(class)和結構(structure)的認識

2021-07-10 10:01:52 字數 725 閱讀 3808

本文複製了 msdn library 的原話,覺得它說得有道理,狠經典

原話:類和結構是 .net framework 中的常規型別系統的兩種基本構造。

兩者在本質上都屬於資料結構,封裝著一組整體作為乙個邏輯單位的資料和行為。

資料和行為是該類或結構的「成員」,它們包含各自的方法、屬性和事件等(本主題後面列出了這些內容)。

類或結構的宣告類似於藍圖,用於在執行時建立例項或物件。

如果定義乙個名為 person 的類或結構,則 person 為型別名稱。

如果宣告並初始化 person 型別的變數 p,則 p 稱為 person 的物件或例項。

可以建立同一 person 型別的多個例項,每個例項在其屬性和字段中具有不同的值。

類是一種「引用型別」。

建立類的物件時,物件賦值到的變數只儲存對該記憶體的引用。

將物件引用賦給新變數時,新變數引用的是原始物件。

通過乙個變數做出的更改將反映在另乙個變數中,因為兩者引用同一資料。

結構是一種值型別。

建立結構時,結構賦值到的變數儲存該結構的實際資料。

將結構賦給新變數時,將複製該結構。

因此,新變數和原始變數包含同一資料的兩個不同的副本。

對乙個副本的更改不影響另乙個副本。

類通常用於對較為複雜的行為建模,或對要在建立類物件後進行修改的資料建模。

結構最適合一些小型資料結構,這些資料結構包含的資料以建立結構後不修改的資料為主。

Struct結構和Class類的區別

dooroo,侵權聯刪 1,定義和使用非常相似,例子如下 public struct student public class question 使用 student s new student question q new question 2,兩者都是container型別,這表示它們可以包含其...

C 類class和結構體struct區別

參考改編自 c 語言繼承了c語言的struct,並且加以擴充。在c語言中struct是只能定義資料成員,而不能定義成員函式的。而在c 中,struct類似於class,在其中既可以定義資料成員,又可以定義成員函式。在c 中,struct與class基本是通用的,唯一不同的是如果使用class關鍵字,...

C 的類(Class)與結構(Struct)

在 c 中,結構是值型別資料結構。它使得乙個單一變數可以儲存各種資料型別的相關資料。struct關鍵字用於建立結構。結構是用來代表乙個記錄。假設您想跟蹤圖書館中書的動態。您可能想跟蹤每本書的以下屬性 為了定義乙個結構,您必須使用 struct 語句。struct 語句為程式定義了乙個帶有多個成員的新...