Функция с переменным числом аргументов

Как говорится в заголовке, мне нужно знать, есть ли соответствующий синтаксис как java ... в параметрах метода, например

void printReport(String header, int... numbers) { //numbers represents varargs
  System.out.println(header);
  for (int num : numbers) {
     System.out.println(num);
  }
}

(код предоставлен wikipedia)

Ответы

Ответ 1

Да вы можете написать что-то вроде этого:

void PrintReport(string header, params int[] numbers)
{
    Console.WriteLine(header);
    foreach (int number in numbers)
        Console.WriteLine(number);
}

Ответ 2

Попробуйте использовать ключевое слово params, помещенное перед оператором, например

myFunction(params int[] numbers);

Ответ 3

Да, есть. Как сказал Адриано, вы можете использовать ключевое слово С# 'params'. Пример приведен в ссылке ниже:

params (Ссылка на С#)

http://msdn.microsoft.com/en-us/library/w5zay9db.aspx

" Ключевое слово params позволяет указать параметр метода, который принимает переменное количество аргументов.

Вы можете отправить список аргументов, разделенных запятыми, типа, указанного в объявлении параметра, или массива аргументов указанного типа. Вы также можете отправлять аргументы.

Никакие дополнительные параметры не разрешены после ключевого слова params в объявлении метода, и в объявлении метода допускается только одно ключевое слово params. "

Ответ 4

Это должно быть

void printReport(String header, params int[] numbers)

Ответ 5

Я полагаю, вы имеете в виду params

public void printReport(string header, params int[] list) 
{
    Console.WriteLine(header);

    for (int i = 0 ; i < list.Length; i++)
    {
        Console.WriteLine(list[i]);
    }
    Console.WriteLine();
}

Ответ 6

Вы можете объявить способ привязать переменное число параметров с помощью ключевого слова params. Точно так же, как при использовании ... в Java, это даст вам массив и позвольте вам вызвать методы с переменным числом параметров: http://msdn.microsoft.com/en-us/library/w5zay9db(v=vs.71).aspx