1. 程式人生 > >C# 結構體和類的區別

C# 結構體和類的區別

字段 long 姓名 table 衡量 int 結構體 需要 操作

第一個問題:,“結構體”和“類”有啥區別?怎樣辨別是結構體還是類!
結構體是一種值類型,而類是引用類型。(值類型、引用類型是根據數據存儲的角度來分的)
就是值類型用於存儲數據的值,引用類型用於存儲對實際數據的引用。那麽結構體就是當成值來使用的,類則通過引用來對實際數據操作。


第二個問題:兩者裏面是不是都有構造函數?為什麽結構體用得比較少?
構造函數是為了初始化類的字段而存在的,而結構體並不需要初始化就能使用,因此,結構體中並不存在構造函數。
不能以使用多少來衡量,只是看相應問題使用最適合的方法罷了。結構體的定義是:有些數據既是相互關聯的,又共同描述一個完整事物,如:一個學生的整體信息,學號、姓名、性別等。而類則使用在需要比較有層次的數據上面。

最大的區別還是結構體是值類型,類是引用類型。

概念:值類型直接存儲其值,而引用類型存儲對其值的引用。

值類型:

byte,short,int,long,float,double,decimal,char,bool 和 struct 統稱為值類型。

引用類型:

string 和 class統稱為引用類型。

C# 結構體和類的區別