static void FunctionTest(int[] arr, int x) {
arr[0] = 100; // 影響原陣列
x = 10; // 不影響原變數
}
static void Main() {
int[] arrTemp = {0,1,2,3,4};
int y = 30;
Console.WriteLine(arrTemp[0]); // 0
Console.WriteLine(y); // 30
FunctionTest(arrTemp, y);
Console.WriteLine(arrTemp[0]); // 100
Console.WriteLine(y); // 30
}
static void FunctionTest(int[] arr, ref int x) { ... }
FunctionTest(arrTemp, ref y); // 輸出 0, 30, 100, 10
ref 強制值型別以參考傳遞。呼叫 ref 參數方法時,引數必須預先初始化;out 則不需。