黑馬程式設計師 類的方法中引數的傳遞

2021-06-22 18:06:04 字數 1884 閱讀 1422

---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

一、方法是類中用於計算或完成某種功能的成員;只能在結構或類中定義。

類中的方法宣告格式:

方法修飾符  返回型別  方法名 (形參列表){方法體}

二、方法中引數的傳遞

1、值引數的傳遞

值引數的傳遞實際相當於實參給形參複製了乙份值,這樣實參的值就不會改變。例如下面的例子:

class program

///

/// 乙個值傳遞引數的方法

從上面的例子中可以看出,無論怎麼改變形參的值,實參的值都不會發生改變。這樣就能確保實參的值的安全。

2、引用引數,以ref修飾符宣告      輸出引數  以out修飾符修飾

某種情況下,在類的方法中我們有時需要修改方法外部的值,這時候我們就必須得到外部引數的實際位址,然後在方法中通過此位址來修改其值。

或者為了把方法的運算結果儲存到外部變數,就得知道外部變數的引用。這時用out修飾符,在方法返回後,傳遞的變數認為已被賦值。

ref和out區別在與: ref必須在傳遞引數前賦值,out則是不需要傳遞前賦值,但在方法中必須為其賦值

例子:class program

通過此例可以看到在方法的內部可以改變外部的值,num1和num2的值全部被修改。

out修飾符例子:

可以從上例看到,雖然在主程式中沒有給num1和num2賦值,但通過out修飾符以後num1和num2都有值了。

4、陣列引數,以params宣告

注意:陣列引數使用params宣告,如果形參中包含了陣列引數,則它必須是引數列表中的最後乙個引數。

例子:class program

;func(3,a);

func(5,1,2,3,4);        //相當於func(5,new int)

func(4,new int);

console.readkey();

}public static void func(int num,params int a)              //陣列引數必須在最後

,",i);

}console.writeline("\n");}}

小結:以上就是常用的方法引數的傳遞型別

值型別:實際是賦值乙份值給另外新開闢空間的形參,自己的值永遠不變。

ref和out:實際上都是引用型別,即存放的是變數的位址,可以直接修改變數的值。

區別:ref在外部必須給實參賦值

out則不必在外部給引數賦值,在方法裡面才賦值

params:陣列引數用它宣告,多個形參時必須將其放在形參列表的最後。

--------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

黑馬程式設計師 Dictionary類的方法

asp.net android io開發s net培訓 期待與您交流!directory.createdirectory 建立資料夾 directory.delete 刪除資料夾 directory.move 剪下資料夾 directory.createdirectory 判斷是否存在 direct...

黑馬程式設計師 ios中 property的引數

property 引數 4類,不同型別的引數可以一起寫 property readwrite,assign int age 1.記憶體管理相關的引數 retain release 舊值,retain 新值,適用於oc物件型別 assign 直接賦值 預設 適用非oc物件型別,property ass...

黑馬程式設計師 String類和它的方法

windows phone 7手機開發 net培訓 期待與您交流!string類在c 中是乙個使用非常頻繁的類,這篇博文總結一下c 中string類的常用方法。首先string類是乙個引用型別,棧中儲存乙個指標指向託管堆中的唯讀字串,該字串不能更改,因而對字串每一次連線或分割操作都會造成先前的字串指...