Поделиться через


Различия между аргументами Modifiable и Nonmodifiable (Visual Basic)

При вызове процедуры, как правило, ей передается один или несколько аргументов.Каждый аргумент соответствует базовому элементу программирования.Базовые элементы и аргументы сами могут быть либо изменяемыми либо неизменяемыми.

Изменяемые и неизменяемые элементы

Элемент программирования может быть изменяемым элементом (modifiable element), значение которого может быть изменено, или неизменяемым элементом (nonmodifiable element), который имеет фиксированное значение после его создания.

В следующей таблице перечислены изменяемые и неизменяемые элементы программирования.

Изменяемые элементы

Неизменяемые элементы

Локальные переменные (объявленные внутри процедур), включая переменные объектов, за исключением доступных только для чтения

Переменные, поля и свойства доступные только для чтения

Поля (переменные-члены модулей, классов и структур) доступные только для чтения

Константы и литералы

Свойства, за исключением доступных только для чтения

Члены перечисления

Элементы массива

Выражения (даже если их элементы являются изменяемыми)

Изменяемые и неизменяемые аргументы

modifiable argument является изменяемым базовым элементом.Код вызова может хранить новое значение в любое время, и если передать аргумент ByRef (Visual Basic), то код в процедуре сможет изменить базовый элемент в коде вызова.

nonmodifiable argument имеет неизменяемый основной элемент или передается ByVal (Visual Basic).Процедура не может изменить базовый элемент в коде вызова, даже если он является изменяемым элементом.Если это неизменяемый элемент, код вызова сам не может изменить его.

Вызванная процедура может изменить локальную копию неизменяемого аргумента, но это изменение не затронет базовый элемент в вызывающем коде.

См. также

Задачи

Практическое руководство. Передача аргументов в процедуру (Visual Basic)

Практическое руководство. Изменение значения аргумента процедуры (Visual Basic)

Практическое руководство. Защита аргумента процедуры от изменения значения (Visual Basic)

Практическое руководство. Принудительная передача аргумента по значению (Visual Basic)

Основные понятия

Процедуры в Visual Basic

Параметры и аргументы процедуры (Visual Basic)

Передача аргументов по значению и по ссылке (Visual Basic)

Различия между передачей аргумента по значению и по ссылке (Visual Basic)

Передача аргументов по позиции и по имени (Visual Basic)

Типы значений и ссылочные типы