Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Модификатор params

Модификатор params

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

// Возвращение среднего для 'некоторого числа' значений.
static double CalculateAverage(params double[] values) {
 double sum = 0;
 for (int i = 0; i ‹ values.Length; i++) sum += values[i];
 return (sum / values.Length);
}

Этот метод принимает массив параметров, состоящий из значений с двойной точностью. Метод фактически говорит следующее: "Дайте мне любой набор значений с двойной точностью, и я вычислю для них среднюю величину". Зная это, вы можете вызвать CalculateAverage() одним из следующих способов (если не использовать модификатор params в определении CalculateAverage(), то первый из указанных ниже вариантов вызова этого метода должен привести к ошибке компиляции).

static void Main(string[] args) {
 // Передача в виде списка значений, разделенных запятыми,.
 double average;
 average = CalculateAverage(4.0, 3.2, 5.7);
 Console.WriteLine("Среднее 4.0, 3.2, 5.7 равно: {0}", average);
 //… или передача в виде массива значений.
 double[] data = {4.0, 3.2, 5.7};
 average = CalculateAverage(data);
 Console.WriteLine ("Среднее равно: {0}", average);
 Console.ReadLine();
}

Это завершает наше вводное обсуждение модификаторов параметров. Мы снова обратимся к этой теме немного позже (в этой же главе), когда будем обсуждать различия между типами значений и ссылочными типами. А пока что давайте рассмотрим итерационные и условные конструкции языка программирования C#.

Исходный код. Проект SimpleParams размещен в подкаталоге, соответствующем главе 3.

Оглавление книги


Генерация: 1.781. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз