傳祉呼叫寫法
CallRef(ref a, ref b);
public void CallRef(ref int a, ref int b) {
...
}
傳值呼叫寫法
CallRef( a, b);
public void CallRef( int a, int b) {
...
}
應用面:
寫法很簡單, 但是時機呢?什麼時候該用傳值或傳祉
1.當呼叫的方法是處理原本主程式中的參數時
使用傳值的話,不會改變原本的a,與b的數值,
如下列,在呼叫CallRef後還是a=10,b=10
ex:
int a =10,b=10;
CallRef( a, b);
public void CallRef( int a, int b)
{
a=a+b;
b=b+a;
}
若使用傳祉,則呼叫CallRef後是a=20,b=20
ex:
int a =10,b=10;
CallRef(ref a,ref b);
public void CallRef(ref int a, ref int b)
{
a=a+b;
b=b+a; }
2.但是如果你呼叫的方法傳入的參數,和回傳的東西
是兩種不一樣的東西, 傳值傳祉都可以,但傳祉似乎會好一點
public Datatable CallRef( string SQL_CMD) {
...
DataTable DT=null;
return DT://傳回的為DataTable物件
}
string sql_cmd="SELECT * FROM MAIN";
DataTable dt=CallRef(sql_cmd);//傳入的參數為STRING
還有人想到什麼可以補充的嘛
沒有留言:
張貼留言