Всем Хай! И мы продолжаем. С сегодняшнего дня у нас открывается 4 блок обучения, в котором мы разберём, что такое функции в программировании. Теории здесь будет мало, зато практики будет много. И в конце блока у нас на выходе будет интересная и популярная игра, со своей графикой, насколько это возможно в консоли, и противником. Поэтому советую сразу подписаться на канал, чтобы узнать, что будет за игра и вместе изучить весь процесс создания игры.
Дублирование кода - Зло!
Я думаю, у вас возникали мысли, а что если код, который я часто использую в написании программы, можно было один раз записать в начале, а потом просто ссылаться к нему короткой записью? С sharp вам такую возможность даёт. А точнее это позволяет сделать функция. Причём не только в C#, но и в любом другом языке программирования.
Главный смысл функции это убрать дублирующий код в программе. И вместо него записать просто название функции, где прописан код. А код, как вы понимаете, может быть на десятки строчек. Зачем нам дублировать такой код?
Главная функция в С#.
Если вы не только читаете то, что я пишу, но и хоть раз запускали код в Visual Studio, то вам известно, что весь код, что я пишу в статьях, запускается внутри функции «Main», которая внутри класса «Program».
Что такое классы я разбирать не буду, потому что сам не знаю. И в курсе это пока не проходили. Значит рано. Вернёмся к функциям.
В функцию обёрнут код программы. То есть мы так же можем написать любую функцию и потом просто к ней, в случае необходимости, обращаться в основном коде программы.
Синтаксис функции.
Функция записывается так.
- static, тип переменной, Имя функции с большой буквы, круглые скобки и фигурные скобки.
В круглых скобках мы пишем, какие типы данных мы будем использовать в функции. Между фигурными скобками записывается весь код.
Например, так выглядит функция, которая суммирует два числа.
static int Sum(int a, int b)
{
return a + b;
}
Пишем «static» потом переменную «int», так как работаем с целочисленными значениями. Придумываем имя функции «Sum» и в круглых скобках пишем, что работать мы будем с двумя числами. Между фигурных скобок пишем «return» и что планируем сделать с этими двумя числами.
Типы функций.
Что такое «return»? Важно сказать, что есть два типа функций, функция с возвращаемыми значениями и не возвращаемыми.
- Возвращаемая функция должна получить данные для обработки и вернуть уже результат этой обработки.
- Не возвращаемой функции не нужны данные из вне для её работы. Она просто отрабатываем код внутри себя и выдаёт всегда один и тот же результат.
Функция, написанная выше, является классической функцией с возвращаемыми значениями. Об этом нам говорит записанный тип данных, которые нужно вернуть, которые указанны в самом начале «static int». И так как это функция с возвращаемыми значениями, то мы обязаны внутри функции прописать какое значение мы должны вернуть «return a + b».
Вот пример функции с не возвращаемыми значениями
static void Text()
{
Console.Write("Не достаточно денег на балансе!" );
}
Здесь вместо конкретного типа данных указан «void», это пустота. Значит, ничего не нужно возвращать. Поэтому и «return» мы не записываем. Нам просто нужно вывести определённое сообщение, когда потребуется.
Практика.
Давайте для повторения рассмотрим не большой код ниже.
static int Sum(int a, int b)
{
int c = a + b;
return c;
}
static void Main(string[] args)
{
while (true)
{
int number1 = Convert.ToInt32(Console.ReadLine());
int number2 = Convert.ToInt32(Console.ReadLine());
int result;
result = Sum(number1, number2);
Stile(result);
Console.ReadKey();
Console.Clear();
}
}
static void Stile(int a)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("Ответ: " + a);
Console.ForegroundColor= ConsoleColor.White;
}
Вы должны были сразу заметить, что я написал две функции «Sum» и «Stile». Одну выше основной функции «Main», в которой исполняется весь код программы. А вторую ниже основной функции «Main». Этим я хочу показать, что не имеет значения, куда вы запишите свою функцию, ниже или выше основной функции, работать она будет одинаково.
Наша программа складывает введённый два числа и выдаёт ответ.
Внутри функции «Sum» я добавил переменную «с», чтобы показать, что добавить внутри функции новую переменную, которую нужно возвратить, тоже можно.
int c = a + b;
return c;
В функции «Stile» в круглых скобках я добавил переменную «int a», чтобы была возможность её записать в самой функции. Эта функция просто добавляет «Ответ: » и результат решения. Причём красит этот ответ в красный цвет и возвращает белый цвет для остальных записей.
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("Ответ: " + a);
Console.ForegroundColor= ConsoleColor.White;
В основном теле программы мы, чтобы подключить нашу функцию, просто пишем имя функции и в скобках пишем числа, которые мы отдаём нашей функции для работы.
result = Sum(number1, number2)
Чтобы вывести цветной ответ мы пишем функцию и в скобках указываем полученный результат от сложения.
Stile(result)
Заключение.
Как видите тема не слишком сложная. Главное запомнить синтаксис. Ну а он запоминается только с практикой. Поэтому в следующей статье будет практика. Вообще обучение программированию начинается тогда, когда вы ручками пишите код. Теория не работает без практики.
Задавайте вопросы в комментариях. Ну, а я с вами прощаюсь. До скорой встречи!
#it #разработкаигр #программированиеснуля #программированиедляначинающих #какстатьпрограммистом #csharp #сишарп