C#基礎(chǔ)知識(shí)全面介紹
C#基礎(chǔ)知識(shí)之.NetFramework簡(jiǎn)介
.netframework運(yùn)行于操作系統(tǒng)之上,提供良好的跨語(yǔ)言特性。
.netframework包含兩個(gè)內(nèi)容:公共語(yǔ)言運(yùn)行時(shí)(CLR)和類(lèi)庫(kù)集(FCL)
MSIL微軟中間語(yǔ)言。當(dāng)編譯.net支持的語(yǔ)言編寫(xiě)的代碼的時(shí)候,輸出的代碼為MSIL
CLR又包含:通用語(yǔ)言規(guī)范(CLS:保證語(yǔ)言互操作性的一組規(guī)則)和公共類(lèi)型系統(tǒng)(CTS:包含了.net支持的各語(yǔ)言間兼容的數(shù)據(jù)類(lèi)型和功能)
C#中的變量和常量
C#中的基本數(shù)據(jù)類(lèi)型:
值類(lèi)型和引用類(lèi)型
值類(lèi)型:簡(jiǎn)單類(lèi)型、結(jié)構(gòu)類(lèi)型和枚舉類(lèi)型。
簡(jiǎn)單類(lèi)型:整數(shù)類(lèi)型、浮點(diǎn)類(lèi)型、小數(shù)類(lèi)型(decimal)和布爾類(lèi)型等
sbyte是有符號(hào)的,相當(dāng)java的byte型,范圍-128~127
C#中byte是無(wú)符號(hào)的,范圍0~255
C#基礎(chǔ)知識(shí)之變量命名方法:
帕斯卡命名法和駱駝命名法
帕斯卡命名法:如果有多個(gè)單詞組成,每個(gè)單詞首字母大寫(xiě)
駱駝命名法:如果有多個(gè)單詞組成,第一個(gè)單詞全部小寫(xiě),后面的單詞大寫(xiě)
C#中的常量:const與readonly兩種
const聲明的常量:叫靜態(tài)常量,必須聲明時(shí)就初始化,且只能用常數(shù)值初始化
readonly聲明的常量:叫動(dòng)態(tài)常量,可以在聲明時(shí)不初始化,只能在構(gòu)造函數(shù)中初始化,但必須每個(gè)構(gòu)造函數(shù)中都要初始化;而且可以使用變量值初始化
- classTest
- {
- constfloatPI=3.1416f;//常量命名:全部大寫(xiě)
- readonlyfloatG;
- publicTest()
- {
- G=9.80F;
- }
- publicTest(floatg)//每個(gè)構(gòu)造函數(shù)中都要初始化;而且可以使用變量值初始化
- {
- G=g;
- }
- }
C#中的裝箱和拆箱
裝箱:值類(lèi)型轉(zhuǎn)換成有引用類(lèi)型
拆箱:引用類(lèi)型轉(zhuǎn)換成值類(lèi)型
值類(lèi)型:存在棧中
引用類(lèi)型:在堆中存放對(duì)象的地址(即引用),對(duì)象本身存放在棧中
拆裝箱允許值類(lèi)型和引用類(lèi)型相互處理
C#語(yǔ)法
Switch()括號(hào)中可以是int ,char和string ,switch語(yǔ)句中的case語(yǔ)句冒號(hào)后什么都不寫(xiě),可以不寫(xiě)break,其他情況一定要寫(xiě)break,否則報(bào)錯(cuò)
數(shù)組:五種聲明方式
- int[]array;
- array=newint[2];
- //第二種聲明方式
- int[]array1=newint[2];
- //第三種聲明方式
- int[]array2={1,2,3};
- //第四種聲明方式
- int[]array3=newint[]{1,2,3};
- //第五種聲明方式
- int[]array4=newint[3]{1,2,3};
- //數(shù)組大小也可以是變量
- intcount=3;
- int[]arr=newint[count];
C#基礎(chǔ)知識(shí)之枚舉:用有意義的字符去訪(fǎng)問(wèn)數(shù)據(jù)
- publicenumContry:long//指定枚舉類(lèi)型,必須是整型,不寫(xiě)為int型
- {
- Pacific,//第一個(gè)未付值,默認(rèn)為零
- China=1860,
- Japan,
- US=1901,
- Canada
- }
C#中的面向?qū)ο?/STRONG>
析構(gòu)函數(shù):函數(shù)名與構(gòu)造函數(shù)名一樣,~函數(shù)名(),不接受參數(shù),由垃圾回收器自動(dòng)調(diào)用(GC.Collect()調(diào)用垃圾回收器)
virtual關(guān)鍵字:C#中,子類(lèi)要重寫(xiě)父類(lèi)的方法,必須把父類(lèi)的方法標(biāo)識(shí)為virtual(虛擬的),同時(shí)重寫(xiě)方法用override修飾
new 關(guān)鍵字:new關(guān)鍵字:在子類(lèi)中定義的一個(gè)和父類(lèi)方法簽名一樣,但是個(gè)全新的方法。并非重寫(xiě)父類(lèi)的方法。
base關(guān)鍵字:用base關(guān)鍵字調(diào)用父類(lèi)的方法
訪(fǎng)問(wèn)修飾符:
public 公有的,
internal 在一個(gè)項(xiàng)目中的,
protected有父子關(guān)系的類(lèi),
private僅所屬類(lèi)的成員
注意:如果有一個(gè)類(lèi)既繼承類(lèi)又實(shí)現(xiàn)接口,類(lèi)名要寫(xiě)在接口名前面。
屬性,索引器,委托,事件
屬性:訪(fǎng)問(wèn)修飾一般為public,首字母大寫(xiě)。屬性?xún)?nèi)有g(shù)et和set訪(fǎng)問(wèn)器,get內(nèi)必須要有return,set內(nèi)有value關(guān)鍵字,代表從外部接受的值。
索引器:索引器的作用:像處理數(shù)組一樣去處理類(lèi)的對(duì)象。
- publicclassStudent
- {
- privatestring[]obj=newstring[10];
- //this關(guān)鍵字在這里代表每一個(gè)類(lèi)的對(duì)象,[]中整數(shù)是指通過(guò)下標(biāo)訪(fǎng)問(wèn)
- publicstringthis[intindex]//此是可以通過(guò)索引號(hào)去訪(fǎng)問(wèn)每一個(gè)類(lèi)的成員
- {
- get
- {
- returnobj[index];
- }
- set
- {
- if(value!=null)
- obj[index]=value;
- }
- }
- staticvoidMain(string[]args)
- {
- Studentstucollection=newStudent();
- stucollection[0]="柯南";
- stucollection[1]="小五郎";
- stucollection[5]="怪盜基德";
- }
- }
C#基礎(chǔ)知識(shí)之委托:相當(dāng)于函數(shù)指針,可使程序在運(yùn)行是再指定具體要運(yùn)行的方法。
(1) 定義委托:Public delegate int Call()
(2) 實(shí)例化委托:objcall=new Call(方法名)
(3) 調(diào)用委托:objcall();
【編輯推薦】