新聞中心
C#類型系統(tǒng)

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比坡頭網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式坡頭網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋坡頭地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
既然你知道了怎樣創(chuàng)建一個(gè)簡單的C#程序,我將會(huì)給你介紹C#類型系統(tǒng)。在這一章中,你學(xué)到如何使用不同的值和引用類型,加框和消框機(jī)制能為你作些什么。盡管這一章的不側(cè)重于例子,但你可以學(xué)到很多重要的信息,關(guān)于如何創(chuàng)建現(xiàn)成類型的程序。
值類型
各種值類型總是含有相應(yīng)該類型的一個(gè)值。C#迫使你初始化變量才能使用它們進(jìn)行計(jì)算-變量沒有初始化不會(huì)出問題,因?yàn)楫?dāng)你企圖使用它們時(shí),編譯器會(huì)告訴你。每當(dāng)把一個(gè)值賦給一個(gè)值類型時(shí),該值實(shí)際上被拷貝了。相比,對于引用類型,僅是引用被拷貝了,而實(shí)際的值仍然保留在相同的內(nèi)存位置,但現(xiàn)在有兩個(gè)對象指向了它(引用它)。C#的值類型可以歸類如下:
◆簡單類型(Simple types )
◆結(jié)構(gòu)類型(struct types)
◆枚舉類型(Enumeration types)
1.簡單類型
在C#中出現(xiàn)的簡單類型共享一些特性。第一,它們都是.NET系統(tǒng)類型的別名。第二,由簡單類型組成的常量表達(dá)式僅在編譯時(shí)而不是運(yùn)行時(shí)受檢測。最后,簡單類型可以按字面被初始化。以下為C#簡單類型歸類:
◆整型
◆布爾型
◆字符型 (整型的一種特殊情況)
◆浮點(diǎn)型
◆小數(shù)型
2.結(jié)構(gòu)類型
一個(gè)結(jié)構(gòu)類型可以聲明構(gòu)造函數(shù)、常數(shù)、字段、方法、屬性、索引、操作符和嵌套類型。盡管列出來的功能看起來象一個(gè)成熟的類,但在C#中,結(jié)構(gòu)和類的區(qū)別在于結(jié)構(gòu)是一個(gè)值類型,而類是一個(gè)引用類型。與C++相比,這里可以用結(jié)構(gòu)關(guān)鍵字定義一個(gè)類。
使用結(jié)構(gòu)的主要思想是用于創(chuàng)建小型的對象,如Point和FileInfo等等。你可以節(jié)省內(nèi)存,因?yàn)闆]有如類對象所需的那樣有額外的引用產(chǎn)生。例如,當(dāng)聲明含有成千上萬個(gè)對象的數(shù)組時(shí),這會(huì)引起極大的差異。
包含一個(gè)命名為IP的簡單結(jié)構(gòu),它表示一個(gè)使用byte類型的4個(gè)字段的IP地址。我不包括方法等,因?yàn)檫@些工作正如使用類一樣,將在下一章有詳細(xì)的描述。
定義一個(gè)簡單的結(jié)構(gòu)
- using System;
- struct IP{
- public byte b1,b2,b3,b4;
- }
- class Test{
- public static void Main(){
- IP myIP;
- myIP.b1 = 192;
- myIP.b2 = 168;
- myIP.b3 = 1;
- myIP.b4 = 101;
- Console.Write("{0}.{1}.",myIP.b1,myIP.b2);
- Console.Write("{0}.{1}",myIP.b3,myIP.b4);
- }
- }
3.枚舉類型
當(dāng)你想聲明一個(gè)由一指定常量集合組成的獨(dú)特類型時(shí),枚舉類型正是你要尋覓的。最簡單的形式,它看起來可能象這樣:enum MonthNames { January, February, March, April };
因我慣用缺省設(shè)置,故枚舉元素是int型,且第一個(gè)元素為0值。每一個(gè)連續(xù)的元素按1遞增。
◆如果你想給第一個(gè)元素直接賦值,可以如下把它設(shè)成1:enum MonthNames { January=1, February, March, April };
◆如果你想賦任意值給每個(gè)元素——甚至相同的值——這也沒有問題:enum MonthNames { January=31, February=28, March=31, April=30 };
◆最后的選擇是不同于int的數(shù)據(jù)類型。可以在一條語句中按如此賦值:enum MonthNames : byte { January=31, February=28, March=31, April=30 };
你可以使用的類型僅限于long、int、short和byte.
以上介紹C#類型系統(tǒng)
當(dāng)前名稱:詳細(xì)介紹C#類型系統(tǒng)
本文地址:http://m.fisionsoft.com.cn/article/cocgigh.html


咨詢
建站咨詢
