參數可讓呼叫程式代碼在呼叫程式時將值傳遞至程式。 您可以宣告程式的每個參數,方式與宣告變數的方式相同,並指定其名稱和數據類型。 您也可以指定傳遞機制,以及參數是否為選擇性。
如需詳細資訊,請參閱 程序參數和自變數。
定義程序參數
在程式宣告中,將參數名稱新增至程式的參數清單,並以逗號分隔它與其他參數。
決定參數的數據類型。
請遵循參數名稱搭配
As子句來指定數據類型。決定您想要用於 參數的傳遞機制。 一般而言,除非您希望程式能夠在呼叫程式代碼中變更其值,否則您會以傳值方式傳遞參數。
在參數名稱前面加上 ByVal 或 ByRef ,以指定傳遞機制。 如需詳細資訊,請參閱 值傳遞與參照傳遞之間的差異。
如果參數是選擇性的,請在傳遞機制前面加上 Optional ,並以等號 (
=) 和預設值跟隨參數數據類型。下列範例會定義具有三個
Sub參數的程式大綱。 前兩個是必要的,第三個是選擇性的。 參數宣告會以逗號分隔在參數清單中。Sub updateCustomer(ByRef c As customer, ByVal region As String, Optional ByVal level As Integer = 0) ' Insert code to update a customer object. End Sub第一個
customer參數會接受 物件,而且updateCustomer可以直接更新傳遞至c的變數,因為自變數會傳遞 ByRef。 程序無法變更最後兩個自變數的值,因為它們是傳遞 ByVal。如果呼叫程式代碼未提供 參數的值,Visual Basic 會將它設定為
level預設值 0。如果類型檢查開關(Option Strict Statement)設為
Off,當您定義參數時,As子句是選擇性的。 不過,如果有一個參數使用As子句,則所有參數都必須使用子句。 如果類型檢查開關為On,那麼每個參數定義都需要As子句。指定所有程式設計元素的數據類型稱為 strong typing(強型別)。 當您設定
Option Strict On時,Visual Basic 會強制執行強式輸入。 基於下列原因,強烈建議這麼做:它可為您的變數和參數啟用 IntelliSense 支援。 這可讓您在程式代碼中輸入時查看其屬性和其他成員。
它可讓編譯程式執行類型檢查。 這有助於攔截因溢位等錯誤而可能在執行時失敗的語句。 它也會偵測並攔截在物件上執行不支援的方法呼叫。
這可加快程式代碼的執行速度。 其中一個原因是,如果您未指定程式設計專案的數據類型,Visual Basic 編譯程式會將類型指派給它
Object。 您編譯的程式代碼可能必須在Object與其他數據類型之間進行來回轉換,這會降低效能。