17.5.1.4 Массивы параметров
Массив параметров позволяет аргументы
быть указан одним из двух способов в
вызов метода:
• Аргумент
дано для массива параметров может быть
одиночное выражение типа
неявно преобразуемый (§13.1) в
тип массива параметров. В этом случае,
массив параметров действует точно
как параметр значения.
•
В качестве альтернативы, вызов может
указать ноль или более аргументов для
массив параметров, где каждый аргумент
является выражением типа, который
неявно преобразуемый (§13.1) в
тип элемента массива параметров.
В этом случае вызов создает
экземпляр массива параметров
тип с длиной, соответствующей
количество аргументов, инициализирует
элементы экземпляра массива
с заданными значениями аргумента, и
использует только что созданный экземпляр массива
в качестве фактического аргумента.
В том же разделе приведен пример:
using System;
class Test
{
static void F(params int[] args) {
Console.Write("Array contains {0} elements:", args.Length);
foreach (int i in args)
Console.Write(" {0}", i);
Console.WriteLine();
}
static void Main() {
int[] arr = {1, 2, 3};
F(arr);
F(10, 20, 30, 40);
F();
}
}
производит вывод
Array contains 3 elements: 1 2 3 Array
contains 4 elements: 10 20 30 40 Array
contains 0 elements:
Этот пример иллюстрирует ожидаемое поведение: пустой массив