Программирование на языке C#


  Передача параметра с модификатором params


Download 1.19 Mb.
Pdf ko'rish
bet54/66
Sana23.10.2023
Hajmi1.19 Mb.
#1717181
1   ...   50   51   52   53   54   55   56   57   ...   66
Bog'liq
Программирование на языке C#

11.6. 
Передача параметра с модификатором params 
С помощью ключевого слова 
params
указывается параметр 
функции, принимающий переменное число аргументов. Такой 
параметр еще называют параметр-массив, так как с ключевым словом 
91 


params
возможно передавать только одномерный массив, в противном 
случае будет ошибка. Если требуется передавать несколько различных 
параметров, то параметр с ключевым словом 
params
, должен стоять 
последним в списке параметров. Например,
static void SomeFunction(int pA, char cA, params char[] val

//Некоторый код 
}
.
в этом случае передача параметров является верной, так как 
params 
char[] val
стоит последним в списке параметров. 
В этом примере,
static void SomeFunction(int pA, params char[] val, char cA) 

//Некоторый код 

такая последовательность параметров приведет к ошибке компиляции. 
В листинге 36 рассматривается пример реализации функции 
MinValue 
с переменной передачей аргументов. Назначение этой 
функции является определение минимума среди входных значений 
params int[] values

Заметим, что при передаче параметра с 
ключевым словом 
params
, допускается пустой список входных 
аргументов, следовательно минимальное значение в этом случае 
определить невозможно, так же, как и в случае пустой ссылки на 
массив. При реализации функции 
MinValue
, необходимо учитывать эти 
ситуации. Для этого предлагается организовать входной параметр вида 
out int min
, в который будет записано минимально значение в 
случае, когда оно может быть найдено. В противном случае эта 
переменная будет принимать значение 
0

В качестве возвращаемого 
значения рассмотрим значение тип 
bool

Функция возвращает 
значение 
истина
в случае, когда значение минимума найдено, значение 
ложь
в случае, когда невозможно определить минимальное значение. 
Проверка на возможность поиска минимального значения выполняется 
с помощью условного оператора 
if (values!=null && 
values.Length!=0)
, в котором сформировано составное условное 
выражение. 
static bool MinValue(out int min, params int[] values) 

min = 0; 
if (values! =null && values.Length!=0){ 
min = values[0]; 
foreach (int elem in values) { 
92 


if (elem < min) 
min = elem; 

return true; 

return false; 

Листинг 36 
Рассмотрим варианты вызова функции 
MinValue
с различными 
входными параметрами. 

Download 1.19 Mb.

Do'stlaringiz bilan baham:
1   ...   50   51   52   53   54   55   56   57   ...   66




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling