自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#結(jié)構(gòu)體的特點(diǎn)淺析

開發(fā) 后端
C#結(jié)構(gòu)體的特點(diǎn)有哪些呢?C#結(jié)構(gòu)體與類的區(qū)別是什么呢?本文就向你介紹相關(guān)的內(nèi)容。

C#結(jié)構(gòu)體的特點(diǎn)是什么呢?讓我們來看看:

C#結(jié)構(gòu)體之struct 類型是一種值類型,通常用來封裝小型相關(guān)變量組,例如,矩形的坐標(biāo)或庫存商品的特征。下面的示例顯示了一個簡單的結(jié)構(gòu)聲明。

  1. public struct PostalAddress  
  2. {  
  3. // Fields, properties, methods and events go here...  

結(jié)構(gòu)與類共享幾乎所有相同的語法,但結(jié)構(gòu)比類受到的限制更多:

盡管結(jié)構(gòu)的靜態(tài)字段可以初始化,結(jié)構(gòu)實(shí)例字段聲明還是不能使用初始值設(shè)定項。

結(jié)構(gòu)不能聲明默認(rèn)構(gòu)造函數(shù)(沒有參數(shù)的構(gòu)造函數(shù))或析構(gòu)函數(shù)。

C#結(jié)構(gòu)體之結(jié)構(gòu)的副本由編譯器自動創(chuàng)建和銷毀,因此不需要使用默認(rèn)構(gòu)造函數(shù)和析構(gòu)函數(shù)。實(shí)際上,編譯器通過為所有字段賦予默認(rèn)值(參見默認(rèn)值表)來實(shí)現(xiàn)默認(rèn)構(gòu)造函數(shù)。結(jié)構(gòu)不能從類或其他結(jié)構(gòu)繼承。

結(jié)構(gòu)是值類型 -- 如果從結(jié)構(gòu)創(chuàng)建一個對象并將該對象賦給某個變量,變量則包含結(jié)構(gòu)的全部值。復(fù)制包含結(jié)構(gòu)的變量時,將復(fù)制所有數(shù)據(jù),對新副本所做的任何修改都不會改變舊副本的數(shù)據(jù)。由于結(jié)構(gòu)不使用引用,因此結(jié)構(gòu)沒有標(biāo)識 -- 具有相同數(shù)據(jù)的兩個值類型實(shí)例是無法區(qū)分的。C# 中的所有值類型本質(zhì)上都繼承自 ValueType,后者繼承自O(shè)bject。

C#結(jié)構(gòu)體之編譯器可以在一個稱為裝箱的過程中將值類型轉(zhuǎn)換為引用類型。

C#結(jié)構(gòu)體之結(jié)構(gòu)具有以下特點(diǎn):

結(jié)構(gòu)是值類型,而類是引用類型

向方法傳遞結(jié)構(gòu)時.結(jié)構(gòu)是通過傳值方式傳遞的,不是作為引用方式傳遞.

與類不同,結(jié)構(gòu)的實(shí)例化可以不使用new運(yùn)算符.

結(jié)構(gòu)可以聲明構(gòu)造函數(shù),但他們必須帶參數(shù)

一個結(jié)構(gòu)不能從另一個結(jié)構(gòu)或類繼承,而且不能作為一個類的基。所有結(jié)構(gòu)都直接繼承自 System.ValueType,后者繼承自 System.Object。

C#結(jié)構(gòu)體之結(jié)構(gòu)可以實(shí)現(xiàn)接口。

在結(jié)構(gòu)中初始化實(shí)例字段是錯誤的。

C#結(jié)構(gòu)體的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解C#結(jié)構(gòu)體有所幫助。

【編輯推薦】

  1. C#讀寫ini文件詳解
  2. C#讀取配置文件詳解
  3. C#讀取Excel的簡單實(shí)現(xiàn)
  4. C#讀取Excel數(shù)據(jù)簡析
  5. C#讀取Excel遇到無法讀取的解決方法
責(zé)任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-08-13 13:29:04

C#結(jié)構(gòu)體使用

2009-08-13 14:56:46

C#的結(jié)構(gòu)體使用

2009-08-31 15:02:22

C#解析結(jié)構(gòu)體指針

2009-08-27 16:18:47

C#類C#結(jié)構(gòu)體

2009-08-13 13:03:52

C#結(jié)構(gòu)體數(shù)組

2009-08-13 14:06:37

C#結(jié)構(gòu)體結(jié)構(gòu)體和類的區(qū)別

2009-08-25 17:59:49

C#入門

2009-08-13 18:02:11

C#靜態(tài)構(gòu)造函數(shù)

2009-08-27 13:05:06

C#接口特點(diǎn)C#接口實(shí)例

2009-08-13 14:46:03

C#結(jié)構(gòu)體定義

2009-08-14 11:05:28

C#語言的結(jié)構(gòu)體

2009-09-23 09:36:34

C#數(shù)組

2009-08-18 17:42:12

C#操作符重載

2009-08-13 14:24:44

C#結(jié)構(gòu)體構(gòu)造函數(shù)

2009-08-13 15:03:58

C#結(jié)構(gòu)體變量

2009-08-13 13:17:10

C#結(jié)構(gòu)體數(shù)組

2009-07-30 18:36:00

C#接口C#抽象類

2009-08-13 15:41:50

C#結(jié)構(gòu)體指針

2009-08-13 14:36:40

C#結(jié)構(gòu)體構(gòu)造函數(shù)

2009-08-07 17:25:37

C# SortedLi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號