當您呼叫程式時,通常會將一或多個自變數傳遞給它。 每個引數都會對應到一個底層程式設計元素。 基礎元素和自變數本身都可以修改或不可修改。
可修改和不可修改的元素
程式元素可以是可修改的元素,可以變更其值,或是不可修改的元素,一經建立即具有固定值。
下表列出可修改和不可修改的程式設計元素。
| 可修改的元素 | 不可修改的元素 |
|---|---|
| 在函式內宣告的局部變數,包括物件變數,但唯讀除外 | 唯讀變數、欄位和屬性 |
| 欄位(模組、類別和結構的成員變數),唯讀除外 | 常數和常值 |
| 屬性(不包括只讀) | 列舉成員 |
| 陣列元素 | 運算式(即使其元素是可修改的) |
可修改和不可修改的參數
可修改的自變數是具有可修改基礎元素的自變數。 呼叫程式代碼可以隨時儲存新的值,而且如果您傳遞自變數 ByRef,程式中的程式代碼也可以修改呼叫程式代碼中的基礎元素。
不可修改的引數要麼具有不可修改的基礎元素,要麼以 ByVal 方式傳遞。 流程無法在呼叫的程式碼中修改基礎元素,即使它是可修改的。 如果它是不可修改的專案,則呼叫端程式代碼本身無法修改它。
呼叫的程序可能會修改其不可變的參數的局部副本,但這種修改不會影響到在呼叫代碼中的基礎元素。