記錄的都是每天看到的一些點滴的知識,可能會很零散,也可能會很基礎。勤能補拙。有不對的地方請指點。
佔位符
說是佔位符,其實算是一種輸出時格式的規範化。可以直接用於輸出或者較長的string文本中,便於規範格式。
double a = 3.1415926;
Consolo.WriteLine("XXXX{0:00}",a); //輸出3.14
xxxx是佔位符 {0:00}是佔位符格式的表示--保留兩位小數。
out參數
可以將參數代入到方法中,並修改實參的值。
比如有一個方法給用於賦值。
public void test(out string name)
{
name ="abc";
}
然後申明一個參數並賦予初值
string n1=“cde";
調用方法,將參數以out參數的形式傳入
test(out n1);
Response.Write(n1);
輸出結果爲 abc
注意out參數實際上是從函數內部把值帶出來,就是說當上面代碼的n1即使不賦初值,也是沒有錯的。out參數可以理解成一種用參數來傳遞返回值的方式。
在後期修改函數的時候,需要有返回值,但是調用函數的地方太多的時候,用out參數是個不錯的選擇。
ref參數
有一個函數
public void test(ref string name)
{
name="cdf";
}
申明一個變量
string n1 ="abc"
調用函數
test(ref n1);
Consolo.WriteLine(n1);
輸出結果爲cdf
講參數用ref參數的形式傳入就相當於把自己傳了進去。就像你把身份證複印件寫上”這複印件,無效“借給人家,別人只能用來證明他認識你,他對複印件做任何操作都不會影響到你,但是以ref參數的形式就等於你把身份證原件給了別人,那用原件開辦的任何卡都會直接改變你。
ref 和out在結果上其實都是將函數內部需要返回的值傳出來的同時不需要修改函數的返回值類型。但不同的是ref參數是將參數代入,也就是說如果函數的內部沒有對ref參數進行修改,那ref參數的值不會改變。但是out參數在函數內部是必須對out參數進行賦值不然會報錯
但是ref參數是可以在函數內不對參數進行操作的。
所以兩者還是有差別的