param引數陣列使用注意點

2021-08-21 02:05:58 字數 1041 閱讀 4349

1、只能為一位陣列使用 params 關鍵字,不能為多為陣列使用,否則編譯不能通過。

2、不能只依賴 params 關鍵字來過載乙個方法。 params 關鍵字不構成方法簽名的一部分,例如:

//

編譯時錯誤:重複的宣告

public

static

int max(int

paramlist)

...public

static

int max(params

int paramlist)

...

3、不允許為 params 陣列指定 ref 或 out修飾符。

4、params 陣列必須是方法的最後乙個引數,沒個方法中也只能有乙個 params 陣列引數。

//

編譯時錯誤

public

static

int max(params

int paramlist,int

i)...

5、非params方法優先

public

static

int max(int first,int

second)    //優先

...public

static

int max(params

int paramlist)

...

對於上面的過載方法,傳入兩個 int 引數時,呼叫上面的方法,傳入其它任意數量的 int 引數時,呼叫下面的方法。這樣做並非多餘,實則起到優化作用。

6、有歧義的過載編譯不能通過。

//

編譯時錯誤

public

static

int max(params

int paramlist)

...public

static

int max(int i, params

int paramlist)

...

本文摘自:

param陣列引數

param陣列允許我們只寫乙個方法,就能接受數量可變的引數.這種技術就是引數陣列,它本質上是用params關鍵字來宣告的乙個引數 而且不僅可以宣告params int list這樣的陣列,還可以宣告object型別的引數組,引數可以是任意型別的 util類 region using directiv...

C 使用引數陣列

過載,是指在相同的作用域內,宣告多個同名的方法。用以對不同型別或數量的引數的引數執行相同的操作。比如,可以求兩個或者三個 int型別數中的最大值,我們可以編寫這樣的方法實現 class util public static int max int num1,int num2,int num3 顯然,...

C 引數陣列

引數陣列,通過關鍵字params定義引數陣列,paras型別引數主要用於在對陣列長度未知 可變 的情況下進行函式宣告,呼叫時可以傳入個數不同的實參,具備很好的靈活性。首先給出乙個具體的例子介紹引數陣列 params 的具體用法,首先定義乙個帶有引數陣列的方法 using system public ...