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