Методы. Модификаторы. Тип. Название метода. Тело метода

Содержание

Слайд 2

МЕТОДЫ название_метода ( ) { // тело метода }

МЕТОДЫ

<модификаторы> <тип> название_метода (<параметры>)
{
    // тело метода
}

Слайд 3

БЕЗ ВОЗВРАЩАЕМОГО ЗНАЧЕНИЯ static void Method1() { Console.WriteLine("Method1"); }

БЕЗ ВОЗВРАЩАЕМОГО ЗНАЧЕНИЯ

static void Method1()
{
    Console.WriteLine("Method1");
}

Слайд 4

С ВОЗВРАЩАЕМЫМ ЗНАЧЕНИЕМ static int Method2() { Console.WriteLine("Method2"); return 25;//Должны вернуть значение }

С ВОЗВРАЩАЕМЫМ ЗНАЧЕНИЕМ

static int Method2()
{
    Console.WriteLine("Method2");
return 25;//Должны вернуть значение
}

Слайд 5

ПЕРЕДАЧА ПАРАМЕТРОВ static int Squeare(int a) { Console.WriteLine("Вычесляем квадрат"); return A * A; }

ПЕРЕДАЧА ПАРАМЕТРОВ

static int Squeare(int a)
{
    Console.WriteLine("Вычесляем квадрат");
return A * A;
}

Слайд 6

МОДИФИКАТОР OUT Выходные параметры должны присваиваться вызываемым методом (и, следовательно, передаваться

МОДИФИКАТОР OUT

Выходные параметры должны присваиваться вызываемым методом (и, следовательно, передаваться по

ссылке). Если параметрам out в вызываемом методе значения не присвоены, компилятор сообщит об ошибке
Слайд 7

static void main(string[] args) { int val; //Можно не инициализировать Sum(1,

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 Это значение первоначально присваивается вызывающим кодом и при желании

МОДИФИКАТОР REF

Это значение первоначально присваивается вызывающим кодом и при желании может

повторно присваиваться в вызываемом методе (поскольку данные также передаются по ссылке). Если параметрам ref в вызываемом методе значения не присвоены, компилятор никакой ошибки генерировать не будет
Слайд 9

static void Main(string[] args) { int a = 3; int x

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 Этот модификатор позволяет передавать в виде одного логического параметра

МОДИФИКАТОР PARAMS

Этот модификатор позволяет передавать в виде одного логического параметра переменное

количество аргументов. В каждом методе может присутствовать только один модификатор params и он должен обязательно указываться последним в списке параметров. В реальности необходимость в использовании модификатора params возникает не особо часто, однако он применяется во многих методах внутри библиотек базовых классов
Слайд 11

static void Main(string[] args) { Sum(1, 2, -5); Sum(); } static

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, int

НЕОБЯЗАТЕЛЬНЫЕ ПАРАМЕТРЫ

static int OptionalParam(int x, int y, int z=5, int s=4)
{
    return

x + y + z + s;
}//Можно вызвать: OptionalParam(3, 4);
Слайд 13

ИМЕНОВАННЫЕ ПАРАМЕТРЫ // Необязательный параметр z // использует значение по умолчанию

ИМЕНОВАННЫЕ ПАРАМЕТРЫ
// Необязательный параметр 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

РЕКУРСИЯ Вызов метода из этого самого метода

РЕКУРСИЯ

Вызов метода из этого самого метода

Слайд 15

ПЕРЕЧИСЛЕНИЯ представляют собой удобную программную конструкцию, которая позволяет группировать данные в

ПЕРЕЧИСЛЕНИЯ

представляют собой удобную программную конструкцию, которая позволяет группировать данные в пары

"имя-значение". Например, предположим, что требуется создать приложение видеоигры, в котором игроку бы позволялось выбирать персонажа одной из трех следующих категорий: Wizard (маг), Fighter (воин) или Thief (вор).
Слайд 16

enum { , , }

enum <Название>
{
<конкретное перечисление>,
<конкретное перечисление>,
<конкретное перечисление>
}

Слайд 17

УСЛОВНАЯ КОНСТРУКЦИЯ SWITCH switch (number) { case 1: Console.WriteLine("case 1"); goto

УСЛОВНАЯ КОНСТРУКЦИЯ 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;
}