Параметр params
Модификатор params ставят перед последним
параметром метода - обычно перед int[].
При вызове можно передать любое количество
значений через запятую, и они соберутся в
массив внутри метода. После params других
параметров быть не должно.
Синтаксис
void Метод(params int[] nums)
Пример
Давайте выведем несколько чисел, переданных
через params:
using System;
class Program
{
static void Show(params int[] nums)
{
Console.WriteLine(string.Join(" ", nums));
}
static void Main()
{
Show(1, 2, 3, 4, 5);
}
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте вызовем тот же метод без аргументов:
using System;
class Program
{
static void Show(params int[] nums)
{
Console.WriteLine(nums.Length);
}
static void Main()
{
Show();
}
}
Результат выполнения кода:
0
Пример
Давайте передадим готовый массив в параметр
params:
using System;
class Program
{
static void Show(params int[] nums)
{
Console.WriteLine(string.Join(" ", nums));
}
static void Main()
{
int[] data = {1, 2, 3};
Show(data);
}
}
Результат выполнения кода:
1 2 3
Пример
Давайте сочетаем обычный параметр и params
в одном методе:
using System;
class Program
{
static void Show(string label, params int[] nums)
{
Console.WriteLine(label);
Console.WriteLine(string.Join(" ", nums));
}
static void Main()
{
Show("data", 4, 5);
}
}
Результат выполнения кода:
"data"
4 5