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

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

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





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

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

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