共用方式為


參數清單 (Visual Basic)

指定呼叫程式時所預期的參數。 多個參數會以逗號分隔。 以下是一個參數的語法。

語法

[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]

組件

attributelist
選擇性。 套用至此參數的屬性清單。 您必須以角括弧 (“” 和 “<”) 括住>

Optional
選擇性。 指定呼叫程式時不需要此參數。

ByVal
選擇性。 指定程式無法取代或重新指派呼叫程式代碼中對應自變數基礎的變數專案。

ByRef
選擇性。 指定程式可以修改呼叫程式代碼中的基礎變數專案,方式與呼叫程式代碼本身相同。

ParamArray
選擇性。 指定參數清單中的最後一個參數是指定資料類型元素的選擇性陣列。 這可讓呼叫端程式代碼將任意數目的自變數傳遞至程式。

parametername
必須的。 代表參數的局部變數名稱。

parametertype
如果 Option StrictOn,則為必要項。 代表 參數之局部變數的數據類型。

defaultvalue
參數的必要專案 Optional 。 評估為 參數數據類型的任何常數或常數表示式。 如果型別為 Object、或類別、介面、陣列或結構,則預設值只能是 Nothing

備註

參數會以括弧括住,並以逗號分隔。 參數可以使用任何數據類型來宣告。 如果您未指定 parametertype,則預設為 Object

當呼叫程式代碼呼叫程式時,它會將 自變數 傳遞至每個必要參數。 如需詳細資訊,請參閱參數與引數之間的差異 (機器翻譯)

呼叫程式代碼傳遞至每個參數的自變數是呼叫程式代碼中基礎專案的指標。 如果這個專案是 不可變數 的(常數、常值、列舉或表達式),則無法變更任何程序代碼。 如果它是變數專案(宣告的 變數 、欄位、屬性、陣列元素或結構元素),則呼叫程式代碼可以變更它。 如需詳細資訊,請參閱 可修改自變數與不可修改自變數之間的差異

如果傳遞 ByRef變數專案,程式也可以變更它。 如需詳細資訊,請參閱 值傳遞與參照傳遞之間的差異

規則

  • 括弧。 如果您指定參數清單,則必須以括弧括住它。 如果沒有參數,您仍然可以使用括弧括住空白清單。 這可藉由釐清 元素是程式,來改善程式代碼的可讀性。

  • 選擇性參數。 如果您在 Optional 參數上使用 修飾詞,清單中的所有後續參數也必須是選擇性的,而且必須使用 Optional 修飾詞來宣告。

    每個選擇性參數宣告都必須提供 defaultvalue 子句。

    如需詳細資訊,請參閱 選擇性參數

  • 參數陣列。 您必須為 ParamArray 參數指定 ByVal

    您不能在相同的參數清單中同時使用 OptionalParamArray

    如需詳細資訊,請參閱參數陣列

  • 傳遞機制。 每個自變數的默認機制為 ByVal,這表示程式無法變更基礎變數專案。 不過,如果專案是參考型別,則程式可以修改基礎對象的內容或成員,即使無法取代或重新指派物件本身也一樣。

  • 參數名稱。 如果參數的數據類型是陣列,請緊接著 parametername 括弧。 如需參數名稱的詳細資訊,請參閱 宣告的元素名稱

範例

下列範例顯示定義兩個 Function 參數的程式。

Public Function HowMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = HowMany("a"c, "How many a's in this string?")

另請參閱