Обучение
Модуль
Создание методов C# с параметрами - Training
В этом модуле рассматриваются параметры метода, включая типы параметров сквозного и сквозного значения. Этот модуль также охватывает необязательные и именованные аргументы.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При передаче одного или нескольких аргументов в процедуру каждый аргумент соответствует базовому элементу программирования в вызывающем коде. Можно передать значение этого базового элемента или ссылку на него. Это называется механизмом передачи.
Передайте аргумент по значению , указав ключевое слово ByVal для соответствующего параметра в определении процедуры. При использовании этого механизма передачи Visual Basic копирует значение базового элемента программирования в локальную переменную в процедуре. Код процедуры не имеет доступа к базовому элементу в вызывающем коде.
Вы передаете аргумент по ссылке указав ключевое слово ByRef для соответствующего параметра в определении процедуры. При использовании этого механизма передачи Visual Basic предоставляет процедуре прямую ссылку на базовый элемент программирования в вызывающем коде.
Выбор механизма передачи не совпадает с классификацией базового типа элемента. Передача по значению или по ссылке означает то, что Visual Basic предоставляет процедурному коду. Тип значения или ссылочный тип ссылается на то, как элемент программирования хранится в памяти.
Однако механизм передачи и тип элемента связаны друг с другом. Значение ссылочного типа — это указатель на данные в другом месте в памяти. Это означает, что при передаче ссылочного типа по значению в коде процедуры есть указатель на данные базового элемента, даже если сам код не имеет доступа к самому базовому элементу. Например, если элемент является переменной массива, код процедуры не имеет доступа к самой переменной, но он может получить доступ к элементам массива.
При передаче немодифицируемого элемента в качестве аргумента процедура никогда не может изменять его в вызывающем коде, будь то ByVal
или ByRef
.
Для изменяемого элемента в следующей таблице приводится сводка взаимодействия между типом элемента и механизмом передачи.
Тип элемента | Пройдено ByVal |
Пройдено ByRef |
---|---|---|
Тип значения (содержит только значение) | Процедура не может изменить переменную или любой из его членов. | Процедура может изменить переменную и ее члены. |
Ссылочный тип (содержит указатель на экземпляр класса или структуры) | Процедура не может изменить переменную, но может изменить члены экземпляра, на который он указывает. | Процедура может изменить переменную и члены экземпляра, на который она указывает. |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Обучение
Модуль
Создание методов C# с параметрами - Training
В этом модуле рассматриваются параметры метода, включая типы параметров сквозного и сквозного значения. Этот модуль также охватывает необязательные и именованные аргументы.
События