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

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

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





Возьмем предыдущий пример. Допустим мы хотим использовать переменную 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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

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