Основы C#. Урок 25. Передача параметров переменой длины
В функцию можно передавать заранее неизвестное число параметров. Например, функция может складывать некоторое заранее неизвестное количество чисел и возвращать их сумму.
Вот конкретный пример реализации такой функции:
using System; class MyClass{ public static int Sum(params int[] args) { int res=0; for(int i=0; i<args.GetLength(0); i++){ res+=args[i]; } return res; } } namespace test { class Test { public static void Main() { System.Console.WriteLine(MyClass.Sum(1, 3)); System.Console.WriteLine(MyClass.Sum(12)); System.Console.WriteLine(MyClass.Sum(-1, 9, 2)); } } }
Здесь в классе MyClass мы объявляем статческую фунцкию Sum, в которую мы можем передавать переменное число параметров. Для этого в круглых скобках после имени функции мы пишем конструкцию
... public static int Sum(params int[] args) ...
Синтаксис у нее такой - сначала пишем ключевое слово params, затем - тип параметров (int в данном случае), после которого ставим пустые квадратные скобки и в конце этой конструкции пишем произвольное имя параметра (в нашем примере он назван args).
В классе test мы испытываем наш класс MyClass, а именно, вызываем функцию Sum с разным числом параметров. Все работает как надо и наша программа покажет на экране 4, 12 и 10.