Download presentation
Presentation is loading. Please wait.
1
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011
2
大綱
3
The Structure of a Method
4
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
5
範例 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 的值。
6
Pass-by-reference(參照傳遞)
7
範例 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 的值。
8
Output Parameters
9
錯誤 CS0177: 在程式控制權離開目前的方法前必須指定 out 參數 'ans' 的值
void Test (bool flag, out int ans) { if (flag) ans = 100; } 錯誤 CS0177: 在程式控制權離開目前的方法前必須指定 out 參數 'ans' 的值
10
範例
11
Parameter Arrays
12
Method Invocation
13
範例
14
Summary of Parameter Types
15
Method Overloading
16
範例
17
Named Parameters (C# 4.0)
18
範例
19
Optional Parameters (C# 4.0)
20
範例
21
Syntactic Order of Parameters
22
Recursion
Similar presentations