C#基礎:方法
阿新 • • 發佈:2019-05-06
內容 else 相同 變量定義 傳遞 函數返回 lse 其余 return
方法是把一些相關的語句組織在一起,用於執行一個任務的語句塊。方法的創建和調用的方法與其他語言類似,例如:
1 using System; 2 3 namespace CalculatorApplication 4 { 5 class NumberManipulator 6 { 7 public int FindMax(int num1, int num2) 8 { 9 /* 局部變量聲明 */ 10 int result; 11 12 if(num1 > num2) 13 result = num1; 14 else 15 result = num2; 16 17 return result; 18 } 19 static void Main(string[] args) 20 { 21 /* 局部變量定義 */ 22 int a = 100; 23 int b = 200; 24int ret; 25 NumberManipulator n = new NumberManipulator(); 26 27 //調用 FindMax 方法 28 ret = n.FindMax(a, b); 29 Console.WriteLine("最大值是: {0}", ret); 30 Console.ReadLine(); 31 } 32 } 33 }
不過C#的方法和其他語言還是有些不同的,或者說是有自己的特色。在C#中,方法的參數傳遞並不是只有1種,而是有3種:
- 值參數
- 引用參數
- 輸出參數
【1】值參數
值參數是參數的默認傳遞方式。當調用一個方法時,會為每個值參數創建一個新的存儲位置。實參的值會復制給形參,所以當形參發生改變時,實參不會受到影響。例如:
1 public void swap(int x, int y) //這個函數的交換變量完全沒用,因為只交換了形參 2 { 3 int temp; 4 temp = x; 5 x = y; 6 y = temp; 7 }
【2】引用參數
引用參數使用ref關鍵字聲明形參。引用參數是對一個變量的內存位置的引用,形參與實參具有相同的內存位置。換而言之,對形參做出的任何修改都會影響到實參,類似於指針的效果。例如:
1 public void swap(ref int x, ref int y) //這個函數的交換變量是有用的 2 { 3 int temp; 4 temp = x; 5 x = y; 6 y = temp; 7 }
【3】輸出參數
輸出參數使用out關鍵字聲明形參。一般來說,return語句只能從函數中返回一個值,但使用輸出參數就可以讓函數返回多個值。輸出參數會把方法輸出的數據賦值給自己,其余內容與引用參數類似。例如:
1 public void getValue(out int x) //修改傳進來的參數,並返回 2 { 3 int temp = 5; 4 x = temp; 5 } 6 7 static void Main(string[] args) 8 { 9 int a = 100; 10 n.getValue(out a); //把原本為100的a傳遞給函數,然後a的值變成5了 11 }
C#基礎:方法