Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Возвращение значения





Возьмем предыдущий пример. Допустим мы хотим использовать переменную k в методе Main. Мы не сможем этого сделать так как эта переменная определена в методе Print, а мы хотим использовать переменную за пределами метода Print. Чтобы у нас появилась такая возможность нужно вернуть значение переменной k в методе Print.

void (пустота) – обозначает, что метод не возвращает никаких значений. Для того, чтобы метод возвращал значение переменной нужно написать тип переменной вместо void, а в самом методе написать комманду: return <название переменной>. Главное: для того, чтобы использовать переменную в методе main – нужно ее сохранить под именем новой переменной.

Пример (на основе предыдущего примера):

Существует 2 способа передачи аргументов:

· 1 способ - вызов по значению (call-by-value). В этом случае значение аргумента копируется в формальный параметр метода. Следовательно, изменения, внесенные в параметр метода, не влияют на аргумент, используемый при вызове.

· 2 способ - вызов по ссылке (call-by-reference). Здесь для получения доступа к реальному аргументу, заданному при вызове, используется ссылка на аргумент. Это значит, что изменения, внесенные в параметр, окажут воздействие на аргумент, использованный при вызове метода.

При передаче методу значения НЕССЫЛОЧНОГО типа (например, int или double) имеет место вызов по значению. Таким образом, то, что происходит с параметром, который получает аргумент, никак не влияет на данные вне метода.

Используя ключевые слова ref и out, можно передать значение любого нессылочного типапо ссылке. Существуют две причины, когда может потребоваться передать нессылочное значение по ссылке:

· позволить методу менять содержимое его аргументов;

· возвращать более одного значения.

REF

Модификатор параметра ref заставляет C# организовать вместо вызова по значению вызов по ссылке. Модификатор ref используется при объявлении метода и его вызове. Пример:


OUT

Модификатор out подобен модификатору ref за одним исключением: его можно использовать только для передачизначения из метода. Предполагается, что out-параметр всегда “поступает” в метод без начального значения, но метод (до своего завершения) обязательно должен присвоить этому параметру значение. Таким образом, после обращения к методу out-параметр будет содержать определенное значение.

REF для ссылочных типов

Если параметр ссылочного типа модифицируется одним из модификаторов ref и out, то по сути реализуется передача ссылки по ссылке. Это позволяет методу изменять объект, на который указывает ссылка-параметр.

Для использования ref/out необходимо:

1. Когда объявляем метод, в скобках перед названием параметра написать ref/out.

2. Объявить переменную в методе Main, перед тем как использовать ее.

3. При использовании нужного метода в методе Main в скобках перед названием аргумента еще раз писать слово ref/out.







Дата добавления: 2015-06-12; просмотров: 626. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Studopedia.info - Студопедия - 2014-2026 год . (0.013 сек.) русская версия | украинская версия