Слайд 2
![МЕТОДЫ название_метода ( ) { // тело метода }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-1.jpg)
МЕТОДЫ
<модификаторы> <тип> название_метода (<параметры>)
{
// тело метода
}
Слайд 3
![БЕЗ ВОЗВРАЩАЕМОГО ЗНАЧЕНИЯ static void Method1() { Console.WriteLine("Method1"); }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-2.jpg)
БЕЗ ВОЗВРАЩАЕМОГО ЗНАЧЕНИЯ
static void Method1()
{
Console.WriteLine("Method1");
}
Слайд 4
![С ВОЗВРАЩАЕМЫМ ЗНАЧЕНИЕМ static int Method2() { Console.WriteLine("Method2"); return 25;//Должны вернуть значение }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-3.jpg)
С ВОЗВРАЩАЕМЫМ ЗНАЧЕНИЕМ
static int Method2()
{
Console.WriteLine("Method2");
return 25;//Должны вернуть значение
}
Слайд 5
![ПЕРЕДАЧА ПАРАМЕТРОВ static int Squeare(int a) { Console.WriteLine("Вычесляем квадрат"); return A * A; }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-4.jpg)
ПЕРЕДАЧА ПАРАМЕТРОВ
static int Squeare(int a)
{
Console.WriteLine("Вычесляем квадрат");
return A * A;
}
Слайд 6
![МОДИФИКАТОР OUT Выходные параметры должны присваиваться вызываемым методом (и, следовательно,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-5.jpg)
МОДИФИКАТОР OUT
Выходные параметры должны присваиваться вызываемым методом (и, следовательно, передаваться по
ссылке). Если параметрам out в вызываемом методе значения не присвоены, компилятор сообщит об ошибке
Слайд 7
![static void main(string[] args) { int val; //Можно не инициализировать](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-6.jpg)
static void main(string[] args)
{
int val; //Можно не инициализировать
Sum(1, 3, out val);
Console.WriteLine(val);
}
static
void Sum(int x, int y, out int a)
{
a = x + y;//Обязаны присвоить значение
}
Слайд 8
![МОДИФИКАТОР REF Это значение первоначально присваивается вызывающим кодом и при](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-7.jpg)
МОДИФИКАТОР REF
Это значение первоначально присваивается вызывающим кодом и при желании может
повторно присваиваться в вызываемом методе (поскольку данные также передаются по ссылке). Если параметрам ref в вызываемом методе значения не присвоены, компилятор никакой ошибки генерировать не будет
Слайд 9
![static void Main(string[] args) { int a = 3; int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-8.jpg)
static void Main(string[] args)
{
int a = 3;
int x = 0;//обязаны инициализировать
Addition(ref
x, a);
}
static void Addition(ref int x, int y)
{
x += y;
//Но можем x не трогать
}
Слайд 10
![МОДИФИКАТОР PARAMS Этот модификатор позволяет передавать в виде одного логического](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-9.jpg)
МОДИФИКАТОР PARAMS
Этот модификатор позволяет передавать в виде одного логического параметра переменное
количество аргументов. В каждом методе может присутствовать только один модификатор params и он должен обязательно указываться последним в списке параметров. В реальности необходимость в использовании модификатора params возникает не особо часто, однако он применяется во многих методах внутри библиотек базовых классов
Слайд 11
![static void Main(string[] args) { Sum(1, 2, -5); Sum(); }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-10.jpg)
static void Main(string[] args)
{
Sum(1, 2, -5);
Sum();
}
static void Sum(params int[] integers)
{
int result
= 0;
for (int i = 0; i < integers.Length; i++)
{
result += integers[i];
}
Console.WriteLine(result);
}
Слайд 12
![НЕОБЯЗАТЕЛЬНЫЕ ПАРАМЕТРЫ static int OptionalParam(int x, int y, int z=5,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-11.jpg)
НЕОБЯЗАТЕЛЬНЫЕ ПАРАМЕТРЫ
static int OptionalParam(int x, int y, int z=5, int s=4)
{
return
x + y + z + s;
}//Можно вызвать: OptionalParam(3, 4);
Слайд 13
![ИМЕНОВАННЫЕ ПАРАМЕТРЫ // Необязательный параметр z // использует значение по](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-12.jpg)
ИМЕНОВАННЫЕ ПАРАМЕТРЫ
// Необязательный параметр z
// использует значение по умолчанию
// OptionalParam(y:2,x:3,s:10);
static int
NamedParam(int x, int y, int z=5, int s=4)
{
return x + y + z + s;
}
Слайд 14
![РЕКУРСИЯ Вызов метода из этого самого метода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-13.jpg)
РЕКУРСИЯ
Вызов метода из этого самого метода
Слайд 15
![ПЕРЕЧИСЛЕНИЯ представляют собой удобную программную конструкцию, которая позволяет группировать данные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-14.jpg)
ПЕРЕЧИСЛЕНИЯ
представляют собой удобную программную конструкцию, которая позволяет группировать данные в пары
"имя-значение". Например, предположим, что требуется создать приложение видеоигры, в котором игроку бы позволялось выбирать персонажа одной из трех следующих категорий: Wizard (маг), Fighter (воин) или Thief (вор).
Слайд 16
![enum { , , }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-15.jpg)
enum <Название>
{
<конкретное перечисление>,
<конкретное перечисление>,
<конкретное перечисление>
}
Слайд 17
![УСЛОВНАЯ КОНСТРУКЦИЯ SWITCH switch (number) { case 1: Console.WriteLine("case 1");](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/203206/slide-16.jpg)
УСЛОВНАЯ КОНСТРУКЦИЯ SWITCH
switch (number)
{
case 1:
Console.WriteLine("case 1");
goto case 5; // переход к
case 5
case 3:
Console.WriteLine("case 3");
break;
case 5:
Console.WriteLine("case 5");
break;
default:
Console.WriteLine("default");
break;
}