c#中的傳值呼叫和傳引用調動。
傳值呼叫是指在使用引數時,是把乙個值傳遞給函式使用的乙個變數。對函式中此變數的任何修改都不影響函式呼叫中指定的引數。
using system;
using system.collections.generic;
using system.linq;
using system.text;
", mynumber);
showdouble(mynumber);
console.writeline("mynumber = ", mynumber);
console.readkey();
}static void showdouble(int val)
", val);}}
}
返回結果:
傳引用呼叫,即引數帶有ref或out關鍵字。對函式中這個變數進行的任何改變都會影響用作引數的變數值。
對於帶有ref關鍵字:
using system;
using system.collections.generic;
using system.linq;
using system.text;
", mynumber);
showdouble(ref mynumber);
console.writeline("mynumber = ", mynumber);
console.readkey();
}static void showdouble(ref int val)
", val);}}
}
返回結果:
注意:
1.帶有ref的引數不能定義為「常變數」,即const int mynumber = 5;
2.帶有ref的引數必須在使用前進行初始化。
對於帶有out關鍵字:
using system;
using system.collections.generic;
using system.linq;
using system.text;
", mynumber);
console.readkey();
}static void showdouble(out int val)
", val);}}
}
返回結果:
注意:帶有out關鍵字的引數,必須看作是還未賦值,即使把已賦值的變數作為out引數時,儲存在變數中的值也會在函式執行時丟失。
ref 關鍵字out關鍵字
using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace outandref ref修飾方法的引數,在呼叫的時候必須...
C 中的ref與out關鍵字
上一次隨筆中提到有winform程式有兩個知識點挺重要點,第乙個是tryparse方法和parse方法區別,這一次來談談另乙個學習心得,就是c 中的關鍵字out與ref view code 1 using system 2using system.collections.generic 3using...
ref關鍵字 out關鍵字 區別
ref 和 out 關鍵字比較怪,他們在方法的引數中使用,今天對他們做了認真的研究 msdn上的定義 ref關鍵字使引數按引用傳遞。其效果是,當控制權傳遞 用方法時,在方法中對引數所做的任何更改都將反映在該變數中。若要使用ref引數,則方法定義和呼叫方法都必須顯式使用ref關鍵字。out關鍵字會導致...