Presentation is loading. Please wait.

Presentation is loading. Please wait.

Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.

Similar presentations


Presentation on theme: "Methods 靜宜大學資工系 蔡奇偉副教授 ©2011."— Presentation transcript:

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


Download ppt "Methods 靜宜大學資工系 蔡奇偉副教授 ©2011."

Similar presentations


Ads by Google