1. 程式人生 > >C#基礎:方法

C#基礎:方法

內容 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; 24
int 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#基礎:方法