1. ref的使用:使用ref進行引數的傳遞時,該引數在建立時,必須設定其初始值,且ref側重於修改;
2. out的使用: 採用out引數傳遞時,該引數在建立時,可以不設定初始值,但是在方法中必須初始化,out側重於輸出;
注釋:當希望方法返回多個值時,可以用out,並且乙個方法中的引數可以有乙個或多個out引數;使用 out 引數,必須將引數作為 out 引數顯式傳遞到方法中,但是out 引數的值不會被傳遞到 方法中,且屬性不是變數,不能作為 out 引數傳遞。
ref是有進有出,而out是只出不進。
舉例如下:
out的使用
class program
",tmp); //這時tmp的值為「在這裡面賦值了」
console.readkey(true);
class user",tmp);
console.readkey(true);
class user {
public void name(ref string tmps)
tmps="傳值之後";
使用ref方法結果輸出:傳值之後
ref和out的原理及區別
一 建立ref引數 在使用引數時,將引數傳遞給方法使用,而方法中對此值的任何改變並不能影響方法外部的變數。下面乙個例子,控制台輸出4,並沒有對變數進行增量。例如 class reforout public static void main string args i console.readline...
ref和out的區別
還是以例子來表明吧 1.ref int i 0 有函式fun ref i 和fun i 它們的函式體都是,那麼在執行以下兩段 後 1 int i 0 fun i system.console.writeline i.tostring 2 int i 0 fun ref i system.consol...
ref和out的區別
ref與out 1.out和ref 關鍵字會導致引數通過引用來傳遞 2.ref要求變數必須在傳遞之前進行初始化 3.儘管作為 out 引數傳遞的變數不必在傳遞之前進行初始化,但需要呼叫方法以便在方法返回之前賦值 4.ref 和 out 關鍵字在執行時的處理方式不同,但在編譯時的處理方式相同 5.個人...