ref型別引數側重修改,out型別引數側重輸出;
ref在傳入值之前必須先初始化
out在函式內,函式結束之前,即傳出值之前初始化.
eg:protected void page_load(object sender,eventargs e)
int indexref=1;
testref(ref indexref);
int indexout;
testout(out indexout);
response.write("ref:"+indexref.tostring()+"
");response.wrtie("out:"+indexout.tostring()+"
");response.end();
private void testref(ref int index)
//不需要初始化
for(int i=0;i<10;i++)
private void testout(out int index)
//初始化
index = 1;
for(int i=0;i<10;i++)
使用ref和out引數
通過ref和out關鍵字,可以以引用的方式傳遞任何型別的值。這樣做,將允許改變呼叫過程中使用的實參值。在研究ref和out的機制之前,首先有必要理解為什麼需要以引用方式來傳遞值型別。通常有兩個原因 使方法能改變其實參的值或者允許方法有多個返回值。ref引數修飾符使得c 可以建立按引用呼叫,而不是按值...
ref引數和out引數
引數對於每個學習程式設計的人都很清楚,在任何程式中都不可能沒有引數,下面我就說說一個特殊的引數型別,其實這個也不算什麼特殊引數了,在c 中已經沒有像c中那樣的指標的概念了,但是有的時候有些時候要寫特殊的處理,其實c 中並不是完完全全放棄這個概念的,下面就寫下這類特殊的引數。引用引數ref 當一個引數...
C 下ref和out 引數使用
csharp using system using system.collections.generic using system.text namespace csharp下ref及out關鍵字使用 public int outvalue int i,out int j private void ...
out引數和ref引數的區別
out和ref都是在引數傳遞時,傳遞變數的引用。用於希望方法中多個變數值更改後,在方法呼叫後保留更改的值。當一個方法需要多個返回值時,靠方法返回值就不能勝任,幸好.net有out和ref關鍵字。比如 登入方法,登入結果有成功和失敗,但是如果失敗還要知道原因僅靠返回值就不行了,這個就可以用out和re...
C 的out引數和ref引數
剛學c 的時候看過out引數和ref引數的用法,但是一直沒有根據實際專案做過。今天寫webservice介面的時候用到了 本來我是寫一個方法查詢一個資料庫,返回一個dataset給別人呼叫,沒問題,完成了 我的上篇部落格寫有 但是專案總是變化 的,有人要求同時將dataset的總記錄條數也返回給他們...