C 學習系列 out與ref的區別

2022-01-29 09:53:52 字數 395 閱讀 8693

參考

如有錯誤,歡迎指正

out和ref作為引數傳遞到方法體中,所傳遞的都是引用位址,兩者在操作上本身沒有區別。

但out傳遞到方法體時,引數會清空,這意味著在方法體內使用out引數前必須賦值。

而ref傳遞到方法體時,其引數也是一起被傳遞進來,所以作為ref引數傳遞,方法體中可以不對其引數賦值。

下面貼**

class

program

static

bool outmethod(out

string

str)

static

bool refmethod(ref

string

str)

}

ref與out的區別

總結以上四條得到ref和out使用時的區別是 ref指定的引數在函式呼叫時候必須初始化,不能為空的引用。而out指定的引數在函式呼叫時候可以不初始化 out指定的引數在進入函式時會清空自己,必須在函式內部賦初值。而ref指定的引數不需要。class program y x,y console.rea...

ref與out的區別

ref static void main string args static void add int num1,int num2 輸出5static void main string args static void add ref int num1,ref int num2 加上ref輸出15...

ref與out的區別

若要使用ref引數,方法定義和呼叫方法均必須顯式使用ref關鍵字,如下面的示例所示。class refexample static void main out.out的使用 class program firstname strarray 0 lastname strarray 1 static v...