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