共用方式為


參數陣列

更新:2007 年 11 月

通常,您無法以多於程序宣告指定的引數呼叫一個程序。當您需要不確定數目的引數時,可以宣告「參數陣列」,讓程序能接受參數的陣列值。當您定義該程序時,並不需要知道該參數陣列中項目的數目。陣列的大小取決於程序的每一個呼叫。

宣告 ParamArray

您可使用 ParamArray 關鍵字,來代表參數清單中的參數陣列。可套用下列規則:

  • 一個程序只能定義一個參數陣列,它必須是程序定義中的最後一個參數。

  • 參數陣列必須以傳值的方式傳遞。明確地將 ByVal 關鍵字包括在程序定義中是良好的程式設計方式。

  • 參數陣列自動成為選擇性的。它的預設值是參數陣列的元素型別之空白一維陣列。

  • 參數陣列之前的所有參數必須是必要的。參數陣列必須是唯一的選擇性參數。

如需詳細資訊,請參閱 HOW TO:定義使用不定數目參數的程序

呼叫 ParamArray

呼叫定義參數陣列的程序時,可利用下列任一方式提供引數:

  • Nothing:也就是可省略 ParamArray 引數。在這個情況下,會傳遞空的陣列到程序中。您也可以傳遞 Nothing (Visual Basic) 關鍵字,效果是一樣的。

  • 任意數目的引數清單,由逗號分隔。每一個引數的資料型別必須可以隱含轉換為 ParamArray 項目型別。

  • 元素型別與參數陣列之元素型別相同的陣列。

在所有的情況下,程序內的程式碼必須將參數陣列視為一維陣列,且其元素的資料型別會與 ParamArray 資料型別相同。

如需詳細資訊,請參閱 HOW TO:呼叫使用不定數目參數的程序

安全性注意事項:

只要處理可能是無限大的陣列,就會有導致應用程式內部容量滿溢的風險。如果接受參數陣列,則您應該測試呼叫程式碼傳給它的陣列大小。若對應用程式而言太大,請執行適當的步驟。如需詳細資訊,請參閱 HOW TO:判斷陣列的大小

請參閱

概念

Visual Basic 中的程序

程序參數和引數

以傳值和傳址方式傳遞引數

依位置和名稱傳遞引數

選擇性參數

程序多載化

Visual Basic 中的型別檢查

參考

Optional (Visual Basic)

UBound 函式 (Visual Basic)

其他資源

Visual Basic 中的陣列