Произвольное количество аргументов (params) в C#
Массив можно передать одним аргументом: в вызове в скобках стоит имя массива, и функция получает ссылку на его элементы:
void Show(int[] nums)
{
foreach (int n in nums)
{
Console.WriteLine(n);
}
}
Show([10, 20]);
Если число аргументов заранее неизвестно, перед типом массива пишут params. Тогда в вызове можно перечислить отдельные числа через запятую, а внутри функции они собираются в массив. Параметр с params должен быть последним в списке параметров функции:
void ShowMany(string label, params int[] nums)
{
Console.WriteLine(label);
foreach (int n in nums)
{
Console.WriteLine(n);
}
}
ShowMany("batch", 1, 2, 3);
ShowMany("one", 4);
Вызов с готовым массивом по-прежнему допустим: он передается как один аргумент:
void ShowMany(string label, params int[] nums)
{
Console.WriteLine(label);
foreach (int n in nums)
{
Console.WriteLine(n);
}
}
int[] pack = [5, 6];
ShowMany("pack", pack);
Сделайте функцию с params, которая выводит переданные целые числа, каждое с новой строки. Вызовите ее с тремя разными числами.
Сделайте функцию с params, которая возвращает сумму всех переданных целых. Вызовите ее с числами 2, 3 и 5 и выведите результат.