首寫從這欄位看 ref 就是引用的意思 out當然就是輸出了
public void getRefStr(ref string str){ str="hello 你好,你變成了Ref了" }
public void getOutStr(out string outStr) { outStr = "hello 你好,你是out輸出的值"; }
protected void Button1_Click(object sender, EventArgs e) { string ss="你好"; getStr(ref ss); Response.Write(ss);//輸出 ref引用值 } protected void Button2_Click(object sender, EventArgs e) { string Outvalue; Method(out Outvalue); Response.Write(Outvalue); //輸出out值 }
下面上個圖片
點擊Ref按鈕
點擊out
看到上面的執行個體和代碼現在就來說說 ref 和outstring ss="你好"; //ss其實是個引用 ss--------->"你好"getStr(ref ss); //ref ss是告訴方法 getStr(ref string str) str哥們你的引用地址為 ss 哦public void getRefStr(ref string str){ str="hello 你好,你變成了Ref了" // 引用指向新}ref按鈕裡的主法{ ss="你好"; getStr(ref ss); Response.Write(ss);//所以當輸入ss 它的值發生變化,因為它的引用地址發生了變化}
public void getOutStr(out string outStr) { outStr = "hello 你好,你是out輸出的值"; } out按鈕 { string Outvalue; //沒空值,Null 參考 Outvalue--------->Empty Method(out Outvalue); //輸入引用別人的 outStr = "hello 你好,你是out輸出的值"; Response.Write(Outvalue); //輸出out值 所以Outvalue的值發生變化 }
最後總結一句,不管是out 還是 ref其實都是實際引用地址發生了變化所以它的值也就發生了變化上一個簡單的地址引用圖
每一次引用都開闢了記憶體空間