C 中ref與out 關鍵字的區別

2021-05-27 12:22:14 字數 537 閱讀 3377

首先,我們都知道,ref和out關鍵字生命的引數都是傳址的,那麼二者有區別嗎?

使用ref關鍵字時,引數必須先初始化,而out關鍵字則不需要,out關鍵在宣告的關鍵字,在函式中必須被初始化,用**來說明.

public void use()

int t=100;

int k;

refmethod(ref t);//注意如果執行refmethod(ref k);則報錯,提示您使用了未賦值的變數k

//此時t=110;

outmethod(out k);//注意如果執行outmethod(out t);那麼執行後t=10;

//此時k=10;

public void refmethod(ref int t)

t=t+10;

public void outmethod(out int t)

t=10;

//如果該語句寫成 t=t+10;則會報錯,提示您使用了未賦值的變數t。

c 中關鍵字ref與out的區別

一 關鍵字ref的使用 static void main string args private static void change string temp private static void changebyref ref string temp 輸出結果 aa refchanged 在ch...

C 中關鍵字ref與out的區別

在c 中,ref與out是很特殊的兩個關鍵字。使用它們,可以使引數按照引用來傳遞。總的來說,通常我們向方法中傳遞的是值.方法獲得的是這些值的乙個拷貝,然後使用這些拷貝,當方法執行完畢後,這些拷貝將被丟棄,而原來的值不將受到影響.此外我們還有其他向方法傳遞引數的形式,引用 ref 和輸出 out 有時...

C 中關鍵字ref與out的區別

總的來說,通常我們向方法中傳遞的是值.方法獲得的是這些值的乙個拷貝,然後使用這些拷貝,當方法執行完畢後,這些拷貝將被丟棄,而原來的值不將受到影響.此外我們還有其他向方法傳遞引數的形式,引用 ref 和輸出 out 有時,我們需要改變原來變數中的值,這時,我們可以向方法傳遞變數的引用,而不是變數的值....