Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 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.
- Модификаторы параметров методов
- Использование модификаторов параметров ref и out
- Модификаторы спецификации преобразования, используемые в функции printf( )
- Модификаторы
- Интерпретация описателей с модификаторами
- Разбиение растровой графики Модификатор Magic Wand ("Волшебная палочка")
- Описатели с модификаторами
- Модификаторы const и volatile
- Модификаторы cdecl и pascal
- Модификаторы near, far, huge
- Модификатор interrupt
- Модификаторы типа функции