调用过程时,通常会向其传递一个或多个参数。 每个参数对应于基础编程元素。 基础元素和自变量本身都可以修改或不可修改。
可修改和非可修改元素
编程元素可以是 可修改的元素,它可以更改其值,也可以是 一个不可修改的元素,该元素在创建后具有固定值。
下表列出了可修改和不可修改的编程元素。
可修改的元素 | 不可修改的元素 |
---|---|
局部变量(在过程内声明),包括对象变量,但不包括只读变量。 | 只读变量、字段和属性 |
字段(模块、类和结构的成员变量),只读除外 | 常数和文本 |
属性(只读除外) | 枚举成员 |
数组元素 | 表达式(即使其元素是可修改的) |
可修改和不可修改自变量
可修改参数是具有可修改的基础元素的参数。 调用代码可以随时存储新值,如果传递参数 ByRef,则过程中的代码还可以修改调用代码中的基础元素。
不可修改的参数要么具有不可修改的基础元素,要么传递 ByVal。 该过程无法修改调用代码中的基础元素,即使它是可修改的元素。 如果它是不可修改的元素,则调用代码本身无法修改它。
调用的过程可能会修改其不可修改参数的本地副本,但该修改不会影响调用代码中的基础元素。