visual C (十一)理解引數陣列

2021-10-05 20:25:52 字數 1494 閱讀 8369

11.3 比較引數陣列和可選引數

過載雖然很好用,但有時還是會不那麼方便,當引數數量變化時過載就很難解決了。c#提供一種技術允許只寫乙個方法就能接受數量可變的引數:引數陣列(關鍵字params宣告的引數)。

class

util

int currentmin=paramlist[0]

;foreach

(int i in paramlist)

}return currentmin;

}}

上述**實現了求多個int 變數的最小值,但需要求幾個數的最小值時需要建立額外的陣列,當然也可以使用匿名陣列:int min=util.min(new int);

class

util

}

這樣的話呼叫方法時可以傳遞任意數量的引數實參。

int min =util.min(first,second);

編譯器自動將上述呼叫轉換成如下**:

int

array=

newint[2

];array[0]

=first;

array[1]

=second;

int min=util.

min(array)

;

引數陣列需要注意幾點:

如果引數型別和數量都不固定,就需要object了,編譯器通過裝箱將值型別轉換成物件。如:

class

black

}

我們將這樣的方法稱為black.hole(黑洞)。

如我們實際使用時:

util.cs

using system;

using system.collections.generic;

using system.text;

namespace c_11_2_3

if(paramlist.length ==0)

int sumtotal =0;

foreach

(int i in paramlist)

return sumtotal;}}

}

program.cs

using microsoft.visualbasic.compilerservices;

using system;

namespace c_11_2_3

static

void

main

(string

args)

catch

(exception ex)}}

}

引數陣列和可選引數有著根本的不同。

第十一章 理解引數陣列

假定要寫方法判斷作為引數傳遞的一組值中的最小值。乙個辦法是使用陣列。例如 為了查詢幾個int值中最小的。可以寫名為min的靜態方法,向其傳遞乙個int陣列,如下 class util public static int min int paramlist if paramlist null para...

C 引數陣列

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

c 引數陣列

有時,當宣告乙個方法時,不能確定要傳遞給函式作為引數的引數數目,c 引數陣列解決了這個問題,引數陣列通常用於傳遞未知數量的引數給函式 params關鍵字 在使用陣列作為形參時,c 提供了params關鍵字,使呼叫陣列為形參的方法時,既可以傳遞陣列實參,也可以只傳遞一組陣列,params使用格式為 p...