Подпрограмма - это отдельная часть программы, имеющая имя и решающая свою отдельную задачу. Располагается подпрограмма в начале основной программы и может быть запущена (вызвана) из основной программы по указанию имени.
Использование подпрограмм позволяет избежать дублирования кода, в случае если необходимо один и тот же код писать в разных местах программы.
Библиотеки, которые импортируются в программу (например, System) состоят из подпрограмм, которые уже были кем-то составлены. Программистам не нужно думать о том, какие алгоритмы в них реализованы, они просто применяют их, задумываясь только о том, что именно они делают. Это большая экономия времени. Нет нужды писать алгоритм, который уже был кем-то написан.
Каждая подпрограмма должна решать только одну задачу, либо что-то вычислять, либо выводить какие-либо данные, либо делать что-то еще.
Подпрограммы,или методы, бывают двух типов - функции (те, которые возвращают результат работы) и процедуры (те, которые не возвращают).
Начнем со второго типа. Попробуем написать простой пример.
Предположим, что нам нужно выводить на экран строку "Error" каждый раз, когда в коде может возникнуть ошибка по вине пользователя (например, когда он вводит неверные данные).
Это можно сделать, написав оператор
Console.WriteLine("Error");
А теперь представим, что такую строчку нужно вставить во многих местах программы. Конечно, можно просто везде ее написать. Но это решение имеет два недостатка.
1) данная строка будет храниться в памяти много раз;
2) если мы захотим изменить вывод при ошибке, то придется менять эту строку по всей программе, что достаточно неудобно.
Для таких случаев и нужны методы и процедуры.
Программа с процедурой может выглядеть следующим образом:
using System;
class Program {
static void PrintError() {
Console.WriteLine("Error");
}
static void Main() {
PrintError();
}
}
Процедура начинается со слова void
. После имени процедуры записаны пустые скобки.
Все операторы, которые выполняются в процедуре, записываются с отступом.
Модификатор Static
означает, что данное поле, метод или свойство будет принадлежать не каждому объекту класса, а всем им вместе.
Методы и процедуры записываются до главного метода Main()
.
Чтобы обратиться к процедуре, в основной программе необходимо вызвать ее по имени и не забыть написать скобки.
Вызывать процедуру в программе можно сколько угодно раз.