c#使用ref和out傳遞陣列
一、使用ref引數傳遞陣列
陣列型別的ref引數必須由呼叫方明確賦值。因此,接受方不需要明確賦值。接受方陣列型別的ref引數能夠修改呼叫方陣列型別的結果。可以將接受方的陣列賦以null值,或將其初始化為另乙個陣列。請閱讀引用型引數。
示例:在呼叫方法(main方法)中初始化陣列array,並使用ref引數將其傳遞給thearray方法。在thearray方法中更新某些陣列元素,然後將陣列元素返**用方並顯示出來。
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace test
arr[0] = 11;
arr[4] = 55;
}static void main(string args)
;thearray(ref array); // 使用ref傳遞陣列,呼叫方明確賦值
console.write("陣列元素為:");
for (int i = 0; i < array.length; i++)
console.readline();}}
}執行結果:
陣列元素為:11 2 3 4 55
二、使用out引數傳遞陣列
被呼叫方在使用陣列型別的out引數時必須為其賦值。請閱讀輸出引數。
示例:在呼叫方方法(main方法)中宣告陣列array,並在thearray方法中初始化此陣列。然後將陣列元素返回到呼叫方並顯示出來。
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace test
; // 必須賦值
}static void main(string args)
console.readline();}}
}執行結果:
陣列元素為:0 2 4 6 8
使用 ref 和 out 傳遞陣列
與所有的 out 引數一樣,在使用陣列型別的out引數前必須先為其賦值,即必須由接受方為其賦值。例如 public static void mymethod out int arr 與所有的 ref 引數一樣,陣列型別的ref引數必須由呼叫方明確賦值。因此不需要由接受方明確賦值。可以將陣列型別的re...
ref和out 傳遞引數 C
1.引數傳遞預設都是傳遞棧空間裡面儲存的內容 2.如果新增了ref那麼傳遞的都是棧空間位址,而不再是棧空間裡面的內容 3.如果新增了out,那麼傳遞的也是棧空間的位址 1 寫乙個方法計算乙個int型別陣列中每個元素的總和以及最大值和最小值 2 3 4 5 6 7static void gatvalu...
C 方法引數傳遞 同時使用ref和out關鍵字
在方法引數傳遞中,可以同時使用ref和out關鍵字,但是要注意ref和out引數傳遞的不同。using system class program 調整後的分數為,加平時表現分後 score,refscore,outscore console.readkey private void changesc...