Программирование на языке C#
Передача параметра с модификатором params
Download 1.19 Mb. Pdf ko'rish
|
Программирование на языке 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling