上一篇文章咱們講到了類的數據成員:字段,常量及事件,那麼這一篇咱們主要來看一下C#當中的函數成員:方法,屬性,構造函數,折構函數,索引器,操做符.
方法: 在C#中是一個很是重要的概念,在這裏的方法與其它語言中的函數相同,從字面意思上咱們理解方法是指爲達到某種目的而採起的途徑,步驟,手段.那在咱們C#中,方法定義的就是一個類的行爲,是一段程序執行的步驟.在之前的內容中咱們一直都在用方法來作爲實現行爲的容器.
方法:

/**/
/// <summary>
/// MyMagic不帶參數,無返回值的公有方法
/// </summary>
public
void
MyMagic()

{
//實現魔法
}

/**/
/// <summary>
/// MyMoney不帶參數,有返回值的私有方法
/// </summary>
/// <returns>輸出N多9</returns>
private
int
MyMoney()

{
return 9999999;
}


/**/
/// <summary>
/// MyMoney帶參數,有反回值的私有方法
/// </summary>
/// <param name="money">參數爲money</param>
/// <returns>輸出money</returns>
public
int
MyMoney(
int
money)

{
return money;
}
在這裏咱們舉了一此例子,與咱們在學第二篇
快速撐握C#知識點之編寫一個C#程序 時的Main基本相同.在這裏要說明的是幾個概念:
方法的標籤:就是指整個方法的第一行如
public int MyMoney(int money)咱們把這一行全部的內容稱爲方法的標籤.
方法的參數:是指在標籤當中括號括起來的部分如上例中的int money,方法的參數是能夠有多個的,中間要用","號分隔.
方法的實現:指{}及其中間的全部內容.
ref關健字:能夠作爲進參,同時也能夠作爲出參.能夠看下例理解.
public
void
Main()

{
int inti = 1;
int intj = 1;
Program pro = new Program();
pro.MyMoney(ref inti,intj);//使用 ref關健字,把inti參數傳入方法MyMoney方法中.
Console.WriteLine("i={0},j={1}",inti,intj);
}

public
void
MyMoney(
ref
int
inti,
int
intj)

{
inti = inti + 99;
intj = intj + 99;
}
以上程序的輸出結果爲:i=100,j=1
經過結果,咱們能夠看的出來ref關健字的做用,是指能夠把MyMoney方法外部的變量inti的值傳入方法中,在方法的實現運行完成以後將其計算結果的值再傳出到變量inti中,而另外一個變量intj並無使用ref,那獲得的結果就只是變量原來的值.咱們能夠得出ref 關健字就是起在使用方法時參數傳遞過程當中能夠做爲進參,同時也能夠作爲出參.
out關健字:只能夠作爲出參
public
void
Main()

{
int inti;
int intj = 1;
Program pro = new Program();
pro.MyMoney(out inti,intj);
Console.WriteLine("i={0},j={1}",inti,intj);
}

public
void
MyMoney(
out
int
inti,
int
intj)

{
inti = 1;
inti = inti + 99;
intj = intj + 99;
}
以上程序的輸出結果爲:i=100,j=1
根據代碼咱們能夠看的出inti變量並無被顯式的初始化值,能夠看的出使用out關健字並不會把值傳入方法當中.可是實現方法以後,會把參數再傳遞出來.
params 關健字:動態數組參數,在方法內部與main方法讀取命令行參數相似.看下例:
public
void
Magic(
params
int
[] i)

{
foreach(int ii in i)

{
Console.WriteLine(ii);
}
}
在使用方法時:
Magic(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
)
params 關鍵字不容許任何其餘參數,方法聲明中只容許一個
params 關鍵字。