Создание функций и работа с ними

Программисты нуждаются в возможности разбить программу на несколько отдельных частей, чтобы она напоминала составной механизм, в котором одну деталь, можно заменить на другую, какие-то части временно вывести из строя и прикрутить новые элементы, добавляющие функциональность.
В программировании эти составные части называются функциями. С помощью функций, можно разбить программу на несколько частей точно так же, как можно разделить автомобиль на двигатель, кузов, колеса, коврики и т.д. Каждая их этих частей, хотя и сложна, но все же несколько проще, чем автомобиль целиком.
Функции хороши еще и тем, что позволяют избежать ненужного копирования кусков кода, который может быть использован несколько раз в похожих ситуациях. К тому же, это упрощает последующее редактирование программы.

Объявление функции

В языке C# каждая функция имеет свой тип, указывающий ей на то, какого рода значение она должна вернуть. Например, если функция целого типа, она обязана вернуть целочисленное значение и т.д.
В общем виде:

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

Пример:

int summ (int a, int b)
{
    int c;
    c = a + b;
    return c;
}

Бывают ситуации, когда не требуется, чтобы функция возвращала какие бы то ни было значения. В этом случае ее можно объявить с использованием специального нулевого типа void, который можно использовать только применительно к функциям.

Вызов функции

Набор действий, которые должна выполнить функция, называется ее телом. Эти действия выполняются каждый раз при вызове функции, а вызвать ее можно, обратившись к функции по имени.

//описание функции
static void MyFunction(string Stroka)
{
    Console.WriteLine(Stroka);
}
...
//вызов функции
MyFunction("Привет, Функция");

Параметры функции

Для передачи в тело функции каких-либо данных извне предназначены параметры функции, которые также называются ее аргументами.
Все доступные параметры следует указать при объявлении функции в круглых скобках.
Каждый параметр объявляется с указанием типа, если параметров несколько, их следует отделить друг от друга запятыми.

int mult (int a, int b)
{
    int c;
    c = a * b;
    return mult;
}

В этом примере мы описали функцию mult с двумя параметрами «a» и «b» целочисленного типа, которая возвращает результат умножения этих чисел друг на друга. Все внутренние названия аргументов имеют смысл только во время работы функции, и они будут забыты программой сразу же после ее завершения. Возвращает функция только то значение, которое будет указано после оператора «return».