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

2021-08-03 22:59:00 字數 2481 閱讀 5757

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

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

為了定義乙個結構,您必須使用 struct 語句。struct 語句為程式定義了乙個帶有多個成員的新的資料型別。

例如,您可以按照如下的方式宣告 book 結構:

struct

books

;

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

using

system

;struct

books

;public

class

teststructure",

book1

.title

);console

.writeline

("book 1 author : "

,book1

.author

);console

.writeline

("book 1 subject : "

,book1

.subject

);console

.writeline

("book 1 book_id :"

,book1

.book_id

);/* 列印 book2 資訊 */

console

.writeline

("book 2 title : "

,book2

.title

);console

.writeline

("book 2 author : "

,book2

.author

);console

.writeline

("book 2 subject : "

,book2

.subject

);console

.writeline

("book 2 book_id : "

,book2

.book_id

);console

.readkey

();}

}

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

book

1title :c

programming

book

1author

:nuha

alibook

1subject :c

programming

tutorial

book

1book_id

:6495407

book

2title

:telecom

billing

book

2author

:zara

alibook

2subject

:telecom

billing

tutorial

book

2book_id

:6495700

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

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

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

using

system

;struct

books

public

void

display()"

,title

);console

.writeline

("author : "

,author

);console

.writeline

("subject : "

,subject

);console

.writeline

("book_id :"

,book_id);}

};public

class

teststructure

}

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

title:c 

programming

author

:nuha

alisubject:c

programming

tutorial

book_id

:6495407

title

:telecom

billing

author

:zara

alisubject

:telecom

billing

tutorial

book_id

:6495700

swift3 類class與結構體struct

swift 中類和結構體有很多共同點。共同處在於 與結構體相比,類還有如下的附加功能 定義類class class 角色 var 小黃 角色 小黃.安全區角色 id 小黃 money 999 當前角色是小黃,money有999 定義結構體struct struct 座標 var 小黃的座標 座標 小...

C 類 class 與結構 struct 的異同

結構與類共享幾乎所有相同的語法,但結構比類受到的限制更多 儘管結構的靜態字段可以初始化,結構例項字段宣告還是不能使用初始值設定項。結構不能宣告預設建構函式 沒有引數的建構函式 或析構函式。結構的副本由編譯器自動建立和銷毀,因此不需要使用預設建構函式和析構函式。實際上,編譯器通過為所有字段賦予預設值 ...

類Class與結構比較

剛剛查了下msdn,發現結構是由system.object基類派生的。結構不是為繼承設計的。不能從乙個結構中繼承,唯一的例外是結構有object派生,因此結構可以訪問object中的方法。在結構中,甚至可以改寫object中方法 例如重寫tostring 方法。結構的繼承鏈是 system.obje...