Переменное число аргументов

Иногда разработчику удобно определить метод, способный принимать переменное число параметров. Например, тип System.String предлагает методы, выполняющие объединение произвольного числа строк, а также методы, при вызове которых можно задать набор единообразно форматируемых строк.

static Int32 Add(params Int32[] values) {
 // ПРИМЕЧАНИЕ: при необходимости этот массив   
 // можно передать другим методам
  Int32 sum = 0;  if (values != null) {    
  for (Int32 x = 0; x < values.Length; x++)    
       sum += values[x];
   }  return sum;
 }

Для этого используется ключевое слово params. Пару слов по поводу его использования:

  • Если оно присутствует среди аргументов метода, то должно быть в конце
  • Если есть возможность обойтись без ключевого слово params, то лучше так и сделать, т.к тратятся значительные ресурсы на выделение памяти для массивов, и проще будет реализовать лишние 1-3 метода с тем же функционалом, но разным кол-во аргументов (2, 3, 4)

results matching ""

    No results matching ""