- •Функции
- •Глобальные переменные
- •Использование параметров и возвращаемых значений Модификаторы параметров методов
- •Входные параметры, представленные значением
- •Выходные параметры, представленные значением
- •Ссылочные параметры, определенные явно
- •Ссылочные параметры, определенные неявно
- •Передача методу переменного количества аргументов
- •Функция main(): аргументы командной строки
- •Перегрузка функций
Функции
Функции представляют собой блоки кода, позволяющие выполнять одни и те же операции над различными значениями данных. Функции определяются один раз и могут вызываться из любой точки приложения.
Определение функции состоит из следующих элементов:
Два ключевых слова: static и типа возвращаемого значения (void, если ничего не возвращает).
Имя функции, за которым следуют круглые скобки, внутри которых размещаются параметры.
Заключенный в фигурные скобки блок кода, который подлежит выполнению.
Параметры в определении функции обычно называют формальными. Их имена используются в коде функции. При вызове функции на место формальных параметров подставляются их значения (фактические параметры), которые должны указываться точно так, как в определении функции, т.е. в соответствующем количестве и порядке.
Параметры, передаваемые функции, могут быть трех видов: параметры-значения, параметры-ссылки и выходные параметры.
При использовании параметра-значения в функцию передается копия значения переменной из вызывающей функции и ее изменение в функции не изменяет значение переменной в вызывающей функции.
При использовании параметров-ссылок и выходных параметров в функцию передается адрес переменной из вызывающей функции, что дает ей возможность доступа к самой переменной. Параметры-ссылки и выходные параметры используют модификаторы ref и out перед параметром как в определении, так и в вызове функции.
Существуют два важных отличия:
В качестве параметра ref применять неинициализированную переменную нельзя, а в качестве out – можно.
Параметр out должен трактоваться функцией, которая его использует, как не имеющий присвоенного значения.
Преимущества использования функций по сравнению с многократным использованием повторяющегося кода:
Так как код функции хранится в одном месте памяти, это существенно упрощает внесение в него изменений и позволяет при этом избежать множества возможных ошибок.
Код приложения сокращается за счет группировки внутренних действий и становится удобочитаемым.
Предлагаемое рассмотрение функций охватывает следующие ключевые моменты:
Определение и использование функций в консольных приложениях.
Обмен данными с функциями через возвращаемые значения, параметры и глобальные переменные. Передача параметров по ссылке и по значению.
Использование параметров командной строки функции main().
Перегрузка функций.
Любой проект консольного или оконного типа должен иметь по крайней мере одну точку входа, определяемую статической функцией Main(). Каждая функция, в том числе и функция Main(), должна принадлежать какому-нибудь классу, т.е. быть методом. Функция Main() объявляется как статический метод, не требующий создания экземпляра (Instance) класса для ее вызова. (Внимание! В приложении, имеющем несколько классов, функция Main() может входить в несколько из них. В этом случае для определения единственной точки входа нужно определить через окно свойств проекта, какой именно класс будет стартовым для данного приложения.)
Обмен данными с функциями через возвращаемые значения, параметры и глобальные переменные.
