- 
Пример 1 демонстрирует определения методов getMessage() и getSum(). Метод getMessage() не принимает параметры и не возвращает значение с помощью оператора return (тип возвращаемого значения void). Метод  getSum() имеет два параметра типа int и возвращает помощью оператора return значение типа int.
- 
Пример 1 также демонстрирует различные варианты вызова методов.
- 
В примере 2 в методы input() и minimum() в качестве параметра передается массив. Массив относится к ссылочным типам данных, имя массива является ссылкой, которая хранит адрес первого элемента массива с индексом 0. В формальный параметр методов input() и minimum() копируется адрес первого элемента массива и методы могут изменять значения элементов массива.
- 
В примере 3 метод input() создает массив и возвращает ссылку на него.
- 
В примере 4 метод minmax() ищет наилучшее и наихудшее время заплыва спортсменов и возвращает найденное минимальное значение через return, а найденное максимальное значение через дополнительный параметр – объект класса Out. Oбъект класса Out создается в методе main() и передается как параметр в метод minmax(). Найденное максимальное значение записывается в поле val объекта класса Out.
- 
В примере 5 для возврата найденного максимального значения используется параметр массив. Найденное максимальное значение записывается в нулевой элемент параметра массива.
- 
В примере 6 не удалось обменять значения переменных a и b целого типа, так как в метод swop() эти переменные передаются по значению, то есть метод swop() работает с копиями значений переменных а и b.
- 
Для обмена необходимо определить  класс, полем которого является переменная типа int  (в примере 7 – это класс Ref с полем val), создать объекты этого класса (в примере 7 в методе main создаются объекты a и b ), в поле типа int объектов записать обмениваемые значения и передать объекты в метод swop().
15
Программирование
Тема 3.2 C#. Методы.
Передача параметров
16
    С#. Методы. Передача параметров 
- 
Описание метода:
- 
Модификатор доступа Тип_возврата имяМетода (Формальные параметры)
- 
{   /* тело метода */    }
- 
Варианты вызова метода:
- 
имяМетода ([Фактические параметры])
- 
имяКласса . имяМетода ([Фактические параметры])
- 
имяОбъекта . имяМетода ([Фактические параметры])
- 
Способы передачи параметров:
- 
по значению;
- 
по ссылке .
 
- 
Разновидности формальных и фактических параметров:
- 
входные параметры (параметры – значения);
- 
выходные параметры (объявляются с ключевым словом out);
- 
ссылочные параметры (объявляются с ключевым словом ref).
 
17
 С#. Методы. Передача параметров
- 
В С# существует два способа передачи параметров: по значению и по ссылке.
- 
При передаче параметров по значению - значения фактических параметров копируются в соответствующие формальные параметры. Изменение формального параметра не влияет на значение фактического параметра. При передаче объектов  копируется ссылка (адрес объекта). После такого копирования, и фактический параметр, и формальный параметр, ссылаются на один и тот же объект. В этом случае сам объект мы можем изменить, а ссылку на него (адрес объекта) – нет.
- 
При передаче параметров по ссылке - адреса фактических параметров копируются в соответствующие формальные параметры и по этим адресам есть доступ  к значениям фактических параметров и их можно изменить.
- 
В С# передача параметров по ссылке реализуется с помощью ссылочных параметров (ref – параметров) и выходных параметров  (out – параметров).
- 
Разница между ref и out в том, что переменную, переданную через out вы обязаны проинициализировать в методе, куда она передается.
18
    C#. Методы. Передача параметров 
- 
Пример 8. Параметры-значения


19
    C#. Методы. Передача параметров
- 
Пример 9. Параметры - ссылки


20
 C#. Методы. Передача параметров 
- 
Пример 10. Массив в качестве параметра и возвращаемого значения

21
 C#. Методы. Передача параметров
- 
Пример 10. Массив в качестве параметра и возвращаемого значения


22
    С#. Методы. Передача параметров 
- 
Пример 11. Возврат двух значений из метода. Выходные параметры

23
 C#. Методы. Передача параметров
- 
Пример 11. Возврат двух значений из метода. Выходные параметры


24
    Контрольные вопросы
- 
Методы в Java : общее определение метода, варианты вызова метода, способы передачи параметров в метод, примеры.
- 
Методы в С#: общее определение метода, варианты вызова метода, способы передачи параметров в метод, примеры.
25