/*ref與out引數的使用*/
using system;
using system.collections.generic;
using system.linq;
using system.text;
//如果乙個方法採用 ref 或 out 引數,而另乙個方法不採用這兩類引數,則可以進行過載,如下所示
class refoutoverloadexample
public void samplemethod(out int i)
", i);}}
class refoverloadexample
!", i);
}public void samplemethod(ref int i)
", i);}}
class program
!", num);
console.readline();
//refoverloadexample類方法的呼叫
refoverloadexample r = new refoverloadexample();
過載方法samplemethod(int i)
r.samplemethod(200);
//過載方法samplemethod(ref int i)
int numm = 500;
r.samplemethod(ref numm);
console.writeline("第二次的值為:!", numm);
console.readline();}}
}總結:本人認為,ref與out其實都是表示位址傳遞,與值傳遞有著本質的區別。ref和out引數的根本區別在於,在呼叫方法中,out引數一定要求對引數重新賦值,而ref則可以不用對引數重新賦值(當然也可以重新賦值),還有就是對於重新賦值ref和out方法的過載,當類中定義兩個方法中,有乙個有out引數,另乙個有ref的引數,則不能執行方法過載,但如果只有乙個out或是ref時,則可以執行過載。以上是本人的一點認識,希望大家指正。
C 中的 Out 和 Ref 引數
out和ref引數 經常用來通過方法傳遞引數來獲取值,當您的方法不只有乙個返回值的時候,這兩個引數就發揮作用了。ref是傳遞引數的位址,out是返回值,兩者有一定的相同之處,不過也有不同點。在這篇文章裡,我將解釋如何在c 應用中使用這兩個引數。1 out 引數 out方法引數關鍵字使方法引用傳遞到方...
關於C 中的ref和out引數的說明
看下面的例子 using system class test static void swap int x,int y static void main j i,j swap i,j console.writeline i j i,j 程式經編譯後執行輸出 i 2,j 1 i 2,j 1 這是csd...
102 20 關於C 中Ref與Out的理解
1.定義方法 private static void getsum ref int a 2.呼叫 int a 0 呼叫時,必須使用已經賦值過的變數 getsum ref a console.writeline a.tostring 1.定義方法 private static void getsumo...