-
string :字符串類
查看全部 -
類
變量
方法
構(gòu)造方法? 重載
對(duì)象
查看全部 -
main方法中,sum用來(lái)接收返回值,放在等號(hào)左邊,此處=號(hào)是接收返回值,是固定格式,不是運(yùn)算。
查看全部 -
this//當(dāng)前對(duì)象,可以調(diào)用當(dāng)前類的字段、屬性、方法
查看全部 -
封裝就是隱藏對(duì)象的信息,留出訪問的接口
查看全部 -
ref和out使用時(shí)要注意的地方
報(bào)錯(cuò):“Child”不能定義僅在參數(shù)修飾符“out”和“ref”上存在區(qū)別的重載 方法
因?yàn)椋罕M管ref和out運(yùn)行時(shí)的處理方式不一樣,但在編譯時(shí)他們是一樣的。因此如果一個(gè)方法僅用ref參數(shù),一個(gè)方法僅用out參數(shù),則無(wú)法重載這兩個(gè)方法
查看全部 -
除了ref之外,c#中還有一個(gè)關(guān)鍵詞可以按照引用類型傳參,那就是out
ref和out的區(qū)別
ref主要用于傳參,out主要用于獲取結(jié)果
方法的返回值可以用return? 但是return只能返回一個(gè)值,而out可以返回多個(gè)。
out關(guān)鍵詞:
1,定義和調(diào)用時(shí)必須顯式使用關(guān)鍵詞out
2,out關(guān)鍵詞無(wú)法將參數(shù)值傳遞給out參數(shù)所在的方法中,只能傳遞參數(shù)的引用,所以out參數(shù)的參數(shù)初始化必須在方法中完成。否則報(bào)錯(cuò)。
例如上面的代碼,public void AgeAdd(int age,out int lastAge,out int nextAage) 方法中必須對(duì)lastAge?nextAage賦值查看全部 -
這段代碼運(yùn)行c1.AgeAdd(c1.Age); 輸出0歲,因?yàn)閭鬟f的是值類型,值類型改的是副本。c1.AgeAdd(c1); 輸出1歲,因?yàn)閭鬟f的是引用類型,引用類型改的是地址,
如果要值類型實(shí)現(xiàn)引用類型的效果,傳值類型過(guò)去也可以改變,用到ref
這樣輸出1歲
因?yàn)橛昧藃ef? 所以值類型的參數(shù)可以按照引用類型來(lái)傳參
聲明的時(shí)候使用關(guān)鍵字ref? 調(diào)用時(shí)也要寫關(guān)鍵詞ref? 另外就是對(duì)象的屬性不能作為實(shí)參
傳遞到 ref 參數(shù)的參數(shù)必須初始化,否則程序會(huì)報(bào)錯(cuò),例如age必須初始化
查看全部 -
枚舉使用的例子
1,枚舉是值類型
2,枚舉中不能定義字段,屬性,方法
3,枚舉值是從0遞增的整數(shù),如上面的例子,男是0 女是1
4,也可以給枚舉值賦自己定義的值,如 男=10,女=34
5,給枚舉值賦值時(shí),可以不賦值Gender.男? 可以賦值? (Gender)0看下面的例子:
輸出的結(jié)果是:
如果是下面的呢?
輸出
查看全部 -
值類型有沒有字段屬性方法呢?
像int,float,double,bool這些值類型,都是屬于結(jié)構(gòu)
結(jié)構(gòu)中和類一樣,可以定義字段,屬性,方法
結(jié)構(gòu)和類的區(qū)別:
1,結(jié)構(gòu)是值類型,類是引用類型
2,結(jié)構(gòu)中不能給字段賦初始值
3,結(jié)構(gòu)中編碼者不能自己手動(dòng)的創(chuàng)建無(wú)參構(gòu)造,只能自己手動(dòng)創(chuàng)建有參構(gòu)造(因?yàn)榻Y(jié)構(gòu)中默認(rèn)就有一個(gè)無(wú)參構(gòu)造)
4,結(jié)構(gòu)的帶參構(gòu)造中需要給所有的字段賦值
5,結(jié)構(gòu)類型的對(duì)象可以不用實(shí)例化,可以定義static 結(jié)構(gòu)名 結(jié)構(gòu)對(duì)象名;
使用 結(jié)構(gòu)對(duì)象名.方法 進(jìn)行調(diào)用。查看全部 -
引用類型賦值會(huì)改變本身的值
查看全部 -
使用對(duì)象初始化器賦值
Child c=new Child("xiaoming","男",4);
也可以用對(duì)象初始化器初始化對(duì)象
Child c=new Child(){Name="小明",Sex="男",Age=4}
這句話也可以省略掉()
Child c=new Child{Name="小明",Sex="男",Age=4}
用對(duì)象初始化器的前提是,要有一個(gè)無(wú)參構(gòu)造
比如這個(gè)例子就需要
public Child(){}查看全部 -
通過(guò)return結(jié)束方法的調(diào)用
public void Eat(int age){
????if(age<=6){
? ? ? ?Console.WriteLine("不要吃糖");
? ? ? ?return;? ?//在這里就tu退出了方法,后面不會(huì)執(zhí)行
? ? }
? ? Console.WriteLine("這里就不會(huì)輸出了");
}查看全部 -
靜態(tài)方法是不需要實(shí)例化的,可以直接調(diào)用。
查看全部
舉報(bào)