Methods 靜宜大學資工系 蔡奇偉副教授 ©2011
大綱
The Structure of a Method
Pass-by-value(數值傳遞) 範例 把引數的值傳遞給函式的參數。 int max (int x, int y) a = 3; { return (x >= y) ? x : y; } a = 3; b = 4; m = max(a, b); max 傳遞 3 4 a b x y
範例 void swap (int x, int y) { int temp = x; x = y; y = temp; } a = 3; b = 4; swap(a, b); swap 傳遞 3 4 a b x y 使用數值傳遞的方式時,引數與參數是不同的變數。所以 swap 只交換了參數 x 和 y 的值,並沒有交換引數 a 和 b 的值。
Pass-by-reference(參照傳遞)
範例 void swap (ref int x, ref int y) { temp = x; x = y; y = temp; } b = 4; swap(ref a, ref b); swap a x b y 在 swap 中交換 x 和 y 的值,等同於交換引數 a 和 b 的值。
Output Parameters
錯誤 CS0177: 在程式控制權離開目前的方法前必須指定 out 參數 'ans' 的值 void Test (bool flag, out int ans) { if (flag) ans = 100; } 錯誤 CS0177: 在程式控制權離開目前的方法前必須指定 out 參數 'ans' 的值
範例
Parameter Arrays
Method Invocation
範例
Summary of Parameter Types
Method Overloading
範例
Named Parameters (C# 4.0)
範例
Optional Parameters (C# 4.0)
範例
Syntactic Order of Parameters
Recursion