可修改引數和不可修改引數之間的差異 (Visual Basic)
呼叫程序時,一般會將一或多個引數傳遞給它。 每個引數都會對應到基礎程式設計項目, 基礎項目和引數本身都是可修改或不可修改的。
可修改和不可修改的項目
程式設計項目可以是「可修改的項目」(Modifiable Element) (可變更其值) 或「不可修改的項目」(Nonmodifiable Element) (建立後即有固定值)。
下表列出了可修改和不可修改的程式設計項目。
可修改的項目 |
不可修改的項目 |
---|---|
區域變數 (在程序內宣告),包含物件變數,但不包含唯讀項目 |
唯讀變數、欄位和屬性 |
欄位 (模組、類別和結構的成員變數),但不包含唯讀項目 |
常數和常值 |
屬性,但不包含唯讀項目 |
列舉型別成員 |
陣列元素 |
運算式 (即使他們的項目是可修改的) |
可修改和不可修改的引數
「可修改的引數」(Modifiable Argument) 是具有可修改之基礎項目的引數。 呼叫程式碼可隨時儲存新值,而且,如果是以 ByRef (Visual Basic) 方式傳遞引數,則程序中的程式碼也可以修改呼叫程式碼中的基礎項目。
「不可修改的引數」(Nonmodifiable Argument) 具有不可修改的基礎項目,或以 ByVal (Visual Basic) 方式傳遞。 程序無法修改呼叫程式碼中的基礎項目,即使它是可修改的項目也一樣。 如果它是不可修改的項目,則呼叫程式碼本身便無法修改它。
呼叫的程序可以修正不可修改引數的本機複本,但是這樣的修正並不會影響呼叫程式碼中的基礎項目。
請參閱
工作
HOW TO:將引數傳遞至程序 (Visual Basic)
HOW TO:變更程序引數的值 (Visual Basic)
HOW TO:防止程序引數的值變更 (Visual Basic)
HOW TO:強制以傳值方式傳遞引數 (Visual Basic)
概念
以傳值或傳址方式傳遞引數的差別 (Visual Basic)