結(jié)構(gòu)是程序員定義的數(shù)據(jù)類型,非常的類似于類。有數(shù)據(jù)成員和函數(shù)成員。
專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)瓊中黎族免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。但是也有區(qū)別:
1)類是引用類型,而結(jié)構(gòu)是值類型;
2)結(jié)構(gòu)是隱式密封的,不能被派生;
語法聲明與類相似:
- //結(jié)構(gòu)的聲明
- struct
- //包含的成員變量
看下邊的示例代碼來演示C#結(jié)構(gòu)的使用方法:
- staticvoidstring
- "first:{0},{1}"
- "second:{0},{1}"
- "third:{0},{1}"
- struct
- publicint
- publicint
結(jié)構(gòu)是值類型
1)結(jié)構(gòu)類型的變量不能使null;
2)兩個結(jié)構(gòu)變量不能引用同一對象
- staticvoidstring
- newnull
- newnew
- //賦值類實例
- //賦值結(jié)構(gòu)實例
- class
- publicint
- publicint
- struct
- publicint
- publicint
先創(chuàng)建一個CSimple類,和一個Simple結(jié)構(gòu)
在Main()分別對它們實例化聲明兩個個變量后,cs1和cs2分別指向在堆中的引用,而ss1和ss2分別在棧中分配空間并存儲。
把一個結(jié)構(gòu)賦值給另外一個結(jié)構(gòu),就是從一個結(jié)構(gòu)中把值復(fù)值給另外一個結(jié)構(gòu)。與類不同的是,復(fù)制類變量時只有引用被復(fù)制。
如上面的代碼,類賦值結(jié)束后,cs2和cs1指向堆中的同一個對象。但是在結(jié)構(gòu)賦值結(jié)束后,ss2成員的值和ss1成員的值相同。
結(jié)構(gòu)中的構(gòu)造函數(shù)和析構(gòu)函數(shù)
語言隱式的為每個結(jié)構(gòu)提供一個無參數(shù)的構(gòu)造函數(shù)。這個構(gòu)造函數(shù)把結(jié)構(gòu)的每個成員設(shè)置為該類型的默認值,引用成員被設(shè)置成null
預(yù)定義的無參數(shù)構(gòu)造函數(shù)對每個結(jié)構(gòu)都存在,而且不能刪除或者重新定義。但是可以創(chuàng)建另外的構(gòu)造函數(shù),只要他們有參數(shù)。這和類不同,對于類,編譯器只在沒有其它構(gòu)造函數(shù)聲明時提供隱式的無參數(shù)構(gòu)造函數(shù)。
要調(diào)用一個構(gòu)造函數(shù),包括隱式的無參數(shù)構(gòu)造函數(shù),要使用new運算符。即使不從堆中分配內(nèi)存也使用new運算符。
如下面的實例:
- staticvoidstring
- new//調(diào)用隱式的構(gòu)造函數(shù)
- new//調(diào)用構(gòu)造函數(shù)
- "{0},{1}"
- "{0},{1}"
- struct
- publicint
- publicint
- publicintint
也可以不適用new運算符創(chuàng)建結(jié)構(gòu)的實例。但是,有一些限制:
1)不能使用數(shù)據(jù)成員的值,直到顯示的設(shè)置它
2)不能調(diào)用任何函數(shù)成員,直到所有數(shù)據(jù)成員已經(jīng)被賦值
- staticvoidstring
- "{0},{1}"http://編譯錯誤,s1.x, s1.y還沒有被賦值
- "{0},{1}"
- struct
- publicint
- publicint
原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。