Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmFnDV 170 of 436 menu
◀ ▶

Необязательные параметры в C#

Параметры функции можно сделать необязательными. Для этого параметру задают значение по умолчанию. Если аргумент при вызове не передали, подставится заготовленное число.

Пусть для примера есть функция Show, которая выводит в консоль квадрат числа из параметра num:

void Show(int num) { Console.WriteLine(num * num); }

Сделаем так, чтобы параметр num по умолчанию имел числовое значение 0 прямо в объявлении функции:

void Show(int num = 0) { Console.WriteLine(num * num); }

Значение по умолчанию пишут только у последних параметров. Если значение задано не всем, его ставят в конце списка, а параметры без значения оставляют в начале. Когда таких значений несколько, их пишут подряд у последних параметров.

Проверим вызов, в котором аргумент передан:

void Show(int num = 0) { Console.WriteLine(num * num); } Show(2); // prints 4

Проверим отдельный вызов этой функции совсем без аргумента. Подставится число 0, а квадрат нуля равен 0:

void Show(int num = 0) { Console.WriteLine(num * num); } Show(); // prints 0

У функции Show значение по умолчанию задано только второму параметру num2. Параметр num1 указывают при каждом вызове, и значение по умолчанию ему не задают:

void Show(int num1, int num2 = 0) { Console.WriteLine(num1 + num2); } Show(4, 1); // prints 5 Show(4); // prints 4

Дана функция:

void Show(int num = 5) { Console.WriteLine(num * num); }

Функция вызывается так:

Show(2); Show(3); Show();

Расскажите, каким будет результат каждого из вызовов функции.

Дана функция:

void Show(int num1 = 0, int num2 = 0) { Console.WriteLine(num1 + num2); }

Функция вызывается так:

Show(2, 3); Show(3); Show();

Расскажите, каким будет результат каждого из вызовов функции.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить