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