C 中的 Out 和 Ref 引數

2022-08-31 11:24:09 字數 907 閱讀 9596

outref引數 經常用來通過方法傳遞引數來獲取值,當您的方法不只有乙個返回值的時候,這兩個引數就發揮作用了。ref是傳遞引數的位址,out是返回值,兩者有一定的相同之處,不過也有不同點。

在這篇文章裡,我將解釋如何在c#應用中使用這兩個引數。

1、out 引數

out方法引數關鍵字使方法引用傳遞到方法的同乙個變數。當控制傳遞**用方法時,在方法中對引數所做的任何更改都將反映在該變數中。

public class mathclass

public static void main()

}

2、ref 引數

ref方法引數關鍵字使方法引用傳遞到方法的同乙個變數。當控制傳遞**用方法時,在方法中對引數所做的任何更改都將反映在該變數中。

static void main(string args)

{// ref sample

int refi; // variable need not be initialized

refi = 3;

reftest(ref refi);

console.writeline(refi);

console.readkey();

public static void reftest(ref int ival1)

ival1 += 2;

3、區別

使用ref前必須對變數賦值,out不用。

out的函式會清空變數,即使變數已經賦值也不行,退出函式時所有out引用的變數都要賦值,ref引用的可以修改,也可以不修改。

C 的out引數和ref引數

剛學c 的時候看過out引數和ref引數的用法,但是一直沒有根據實際專案做過。今天寫webservice介面的時候用到了 本來我是寫乙個方法查詢乙個資料庫,返回乙個dataset給別人呼叫,沒問題,完成了 我的上篇部落格寫有 但是專案總是變化 的,有人要求同時將dataset的總記錄條數也返回給他們...

C 中的ref和out型別引數

clr via c 上說 clr不區分out和ref,無論使用哪個關鍵字都會產生相同的il 另外元資料也完全一致,只有乙個bit除外,這個bit是用來記錄該引數屬於out還是ref的。ref型別的引數 如果方法的引數用ref標記,呼叫者必須在呼叫該方法前初始化這個引數的值,被呼叫的方法可以讀取值以及...

C 中的輸出引數ref和out

c 中的輸出引數有兩種 ref和out。其實稱他們為輸出引數不是特別的準確,因為他們並不是像函式返回值一樣 輸出 乙個值,而是將原先存在的值進行編輯。舉個例子 偽 1 一般引數 int i 1 int j 2 int add int i,int j main 2 使用ref int i 1 int ...