102 20 關於C 中Ref與Out的理解

2021-10-10 21:07:03 字數 570 閱讀 2498

//1. 定義方法

private static void getsum(ref int a)

// 2. 呼叫

int a = 0;// 呼叫時,必須使用已經賦值過的變數

getsum(ref a);

console.writeline(a.tostring());

//1. 定義方法

private static void getsumout(out int a)

// 2. 呼叫

int b; //呼叫時,可以使用未賦值的變數,因為在函式內部,必須要進行初始化

getsumout(out b);

作為引數傳入,可以作為返回值使用

ref 修飾的變數,必須是賦值過的,否則報錯

out 修飾的變數,可以使用沒有賦值過的,也沒必要進行賦值,因為在函式的內部進行呼叫時,還必須要重新賦值

ref 返回的是變數的位址;out 返回的是變數值;

因此,out適合在需要return多個返回值的地方,ref則用在需要被呼叫的方法修改呼叫者的引用的時候。

關於C 中ref與out引數的理解

ref與out引數的使用 using system using system.collections.generic using system.linq using system.text 如果乙個方法採用 ref 或 out 引數,而另乙個方法不採用這兩類引數,則可以進行過載,如下所示 class...

c 中ref與out區別

ref 和 out 都是c 中的關鍵字,所實現的功能也差不多,都是指定乙個引數按照引用傳遞。對於編譯後的程式而言,它們之間沒有任何區別,也就是說他們只有語法區別。有如下語法區別 1.ref 傳進去的引數必須在呼叫前初始化,out不必,即 int i somemethod ref i 語法錯誤 som...

C 中out與ref區別

一 ref 參考 與out區別 1 out 只出不進 將方法中的引數傳遞出去,在方法中將該引數傳遞出去之前需要在該方法起始賦初值 在方法外傳遞的該引數可以不用賦值 簡單理解就是 將乙個東西丟擲去之前必須對此東西進行修改,否則就不用丟擲去,修改時的動作必須發生在方法的起始。2 ref 有進有出 在方法...