在使用類的時候,若需要錄入的資料過多,就會進行很多的宣告,占用記憶體較大,為了優化減少記憶體,我們可以使用結構(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 從上面的例子中我們可以看到,類的宣告和結構...