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

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

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





Возьмем предыдущий пример. Допустим мы хотим использовать переменную 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 оперирует с двумя категориями...


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


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


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

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

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

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