Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 9. Класс Random. Функции.doc
Скачиваний:
3
Добавлен:
02.05.2019
Размер:
78.34 Кб
Скачать

Выходные параметры

Часто возникает необходимость в методах, которые формируют несколько величин. Параметру, имеющему спецификатор out, должно быть присвоено значение внутри метода. Тем самым, можно из метода получить несколько значений-результатов работы.

Модифицированный пример применения выходных параметров

namespace ConsoleApplication2

{

class Program

{

static void p(int a, out int b, out int c)

{

a = 44;

b = 33;

c = a + b;

Console.WriteLine("внутри метода {0} {1} {2}", a, b,c);

}

static void Main(string[] args)

{

int a = 2, b,c;

p(a, out b,out c); //обратите внимание на ВЫЗОВ метода

Console.WriteLine("после вызова метода {0} {1} {2}", a, b,c);

Console.ReadKey();

} }}

Хорошим стилем программирования считается, если в списке параметров сначала записываются входные параметры, затем – параметры ссылки, затем – выходные параметры.

ВЫВОДЫ:

1. Параметры, поступающие в функцию, рассматриваются компилятором как дополнительные переменные, т.е. происходит их копирование в стек и внутри функции используется их копия, находящаяся в стеке.

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

3. Если в качестве параметра используется адрес аргумента, то в стек помещается адрес этого значения. Это 2 способ – передача по ссылке.