Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тюмгу / Лекции КБ ИБАС 1 курс 2 семестр / лекция8 Безопасность 2018.ppt
Скачиваний:
15
Добавлен:
08.12.2019
Размер:
199.68 Кб
Скачать

Массив параметров

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

Методы, позволяющие подсчитать сумму двух, трех, четырех вещественных чисел:

public static double Sum2(double a, double b)

public static double Sum3(double a, double b, double c)

public static double Sum4(double a, double b, double c, double d)

они отличаются друг от друга, и кодом, и числом параметров.

21

Язык C# позволяет заменить все эти методы одним, использовав вместо различного числа скалярных параметров массив параметров, в котором может быть произвольное число элементов.

Массив параметров объявляется как одномерный массив соответствующего базового типа с дополнительным ключевым словом params перед объявлением.

Тип фактических параметров должен неявно приводиться к типу массива параметров.

с ключевым словом params нельзя объявлять обычные многомерные массивы вида type [,], type [,,] и т.п.

Вместо этого используются объявления ступенчатых массивов type [] [], type [] [] [] и т.п.

Это вполне корректно, поскольку это одномерные массивы (массивов).

22

заголовок универсального метода для суммирования : public static double Sum(params double [ ] myArray)

определение и вызовы этого метода:

class myClass

{

public static void Main( )

{

double x1 = 1.2; double x2 = 3.2; double x3 = 5.2;

double [ ] myNumbers = {1, 1.3, 1.7, 123.4}; Sum(x1, x2);

Sum(x1, x2, x3); Sum(x1, x2, x3, 0.678); Sum(myNumbers); Sum();

...

}

23

public static double Sum(params double [] myArray)

{

double s = 0;

Console.WriteLine(“chislo slagaemyh=“+ myArray.Length);

foreach (double x in myArray)

{

s+=x;

}

Console.WriteLine(“summa= “+s); return s;

}

}

24