C 中結構和類之間的區別

2021-10-07 03:55:56 字數 1451 閱讀 3661

在使用類的時候,若需要錄入的資料過多,就會進行很多的宣告,占用記憶體較大,為了優化減少記憶體,我們可以使用結構(struct)來達到減少記憶體的目的

結構是我們自己定義的一種複雜的型別,是一種可封裝資料和相關功能的值型別,區別於常見的型別(int,string,double,bool…)

結構可以一次宣告多種資料型別

通常用結構型別來設計以資料為中心的較小型別,這些型別只有很少的行為或沒有行為。

一般我們將結構放在命名空間之下,類的外面

public

struct stuct

在呼叫的時候直接進行例項化,而結構裡的資料型別賦值時相當於給屬性賦值

stuct zs =

newstuct()

; zs.name =

"張三"

; zs.age =23;

zs.depto =

"開發部"

; console.

writeline

("我叫,今年歲,是的一員!"

,zs.name,zs.age,zs.depto)

; console.

readline()

;

缺點:

1.不能宣告無引數建構函式

2.不能在宣告例項欄位或屬性時對它們進行初始化,可以在其宣告中初始化靜態或常量欄位或靜態屬性。

3.結構型別的建構函式必須初始化該型別的所有例項字段。

4.結構型別不能從其他類或結構型別繼承,也不能作為類的基礎型別。 但是結構型別可以實現介面。

5.不能在結構型別中宣告終結器。

在 c# 語言中建立的任何專案都有類的存在,通過類能很好地體現物件導向語言中封裝、繼承、多型的特性。

類(class)實際上是對某種型別的物件定義變數和方法的原型。它表示對現實生活中一類具有共同特徵的事物的抽象,是物件導向程式設計的基礎。

類一般是側重型別的行為

物件是類的例項。構成類的方法和變數成為類的成員。

類的定義是以關鍵字 class 開始,後跟類的名稱。類的主體,包含在一對花括號內。

語法結構為:

public

class

class1

//類的訪問修飾符 修飾符 類的名稱

//預設的建構函式

private

int _age;

//類的成員變數

private

string _name;

public

void run (

)//沒有返回值的成員方法

}

飾符分為: public(公共的), private(私有的), internal(內部的), protected(受保護的)

C 中類和結構的區別

二 類與結構的差別 1.值型別與引用型別 結構是值型別 值型別在堆疊上分配位址,所有的基型別都是結構型別,例如 int 對應system.int32 結構,string 對應 system.string 結構 通過使用結構可以建立更多的值型別 堆疊的執行效率要比堆的執行效率高,可是堆疊的資源有限,不...

C 中結構和類的區別

一 類與結構的示例比較 結構示例 public struct person 類示例 public class testtime 呼叫過程 public class test 從上面的例子中我們可以看到,類的宣告和結構的宣告非常類似,只是限定符後面是struct還是class的區別,而且使用時,定義新...

C 中類和結構的區別!

類和結構的區別 目錄 類和結構的示例比較 類和結構的差別 如何選擇使用類還是使用結構 一類和結構的示例比較 結構示例 public struct person 類示例 public class testtime 呼叫過程 public class test 從上面的例子中我們可以看到,類的宣告和結構...