程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#高級(二)類(2)

C#高級(二)類(2)

編輯:關於C語言

二、方法

1、 方法概述

方法和C語言中的 函數共享同一個理念。一直以來,我們在用的Main()方法就是個例子。還有上例中 public string doSth() 也是一個方法。其中,public是 類的修飾符,string是方法的返回值,也可以 沒有返回值,即 void ,DOSth是方法名稱。()括號必須有,在括號中可以有參數,如Doctor類的構造函 數 public Doctor(string name,byte age) 就有兩個參數。方法體則必須用一對{}括起來。

方法的調用,則需要先實例化類,然後調用類的某個方法。上例中Doctor dc=new Doctor();來實例化 了類,然後 dc.DOSth() 就是調用了Doctor類的方法。

如果方法是靜態的,即 static,則不需要實例化類,直接使用 類名.方法名 就可以調用了。如上例 中 Console.WriteLine(Doctor.doAnth()); 即是直接調用了靜態的doAnth方法。

2、方法的參數

參數可以通過引用或者值傳遞 給方法。具體有什麼區別呢?

我們來看個例子。

using System;
namespace gosoa.com.cn
{
public class OneDoctor
{
static void FunctionTest(int [] arr, int x)
{
arr[0]=100;
x=10;
}
static void Main()
{
int [] arrTemp={0,1,2,3,4};
int y=30;
Console.WriteLine(arrTemp[0]);
Console.WriteLine(y);
FunctionTest(arrTemp, y);
Console.WriteLine(arrTemp[0]);
Console.WriteLine(y);
}
}
}

本例的輸出結果是0,30,100,30 因為數組是引用類型,在調用方法前後,引用類型的修改會保留下 來,而值類型的修改不會保留下來。

3、ref 參數。

我們把 上例中的方法修改為 static void FunctionTest(int [] arr, ref int x) 這樣,調用的時 候 也加上 ref 即:functionTest(arrTemp, ref y); 執行後的結果就是0,30,100,10。

ref 關鍵字是強迫參數通過引用傳遞。

注意:在調用有ref參數的方法時,必須將參數要傳遞的參數提前初始化。但在調用out參數的方法時 ,就不必提前初始化。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved