Ответ 1
Используйте массив параметров с модификатором params
:
public static int AddUp(params int[] values)
{
int sum = 0;
foreach (int value in values)
{
sum += value;
}
return sum;
}
Если вы хотите удостовериться, что хотя бы одно значение (а не возможно пустой массив), укажите его отдельно:
public static int AddUp(int firstValue, params int[] values)
(Установите sum
в firstValue
, чтобы начать с реализации.)
Обратите внимание, что вы также должны проверить ссылку на массив для недействительности обычным способом. Внутри метода параметр является совершенно обычным массивом. Модификатор массива параметров имеет значение только при вызове метода. В основном компилятор поворачивается:
int x = AddUp(4, 5, 6);
во что-то вроде:
int[] tmp = new int[] { 4, 5, 6 };
int x = AddUp(tmp);
Вы можете вызвать его с совершенно нормальным массивом, хотя - поэтому последний синтаксис действительно и в исходном коде.