проверка на наличие в массиве nums хотя бы одного элемента перед тем, как пытаться получить доступ к этому элементу. Если бы такой проверки не было, то при вызове метода MinVal () без аргументов возникла бы исключительная ситуация во время выполнения. (Подробнее об исключительных ситуациях речь пойдет в главе 13.) Больше того, код метода MinVal () написан таким образом, чтобы его можно было вызывать с одним аргументом. В этом случае возвращается этот единственный аргумент.

У метода могут быть как обычные параметры, так и параметр переменной длины. В качестве примера ниже приведена программа, в которой метод ShowArgs ()

принимает один параметр типа string, а также целочисленный массив в качестве параметра типа params.

// Использовать обычный параметр вместе с параметром // переменной длины типа params.

using System;

class MyClass {

public void ShowArgs(string msg, params int[] nums) {

Console.Write(msg + ': ');

foreach(int i in nums)

Console.Write (i + ' ') ;

Console.WriteLine ();

}

}

class ParamsDemo2 { static void Main() {

MyClass ob = new MyClass ();

ob.ShowArgs('Это ряд целых чисел',

1, 2, 3, 4, 5);

ob.ShowArgs('А это еще два целых числа ',

17, 20);

}

}

Вот какой результат дает выполнение этой программы.

Это ряд целых чисел: 1, 2, 3, 4, 5 А это еще два целых числа: 17, 20

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

Возврат объектов из методов

Метод может возвратить данные любого типа, в том числе и тип класса. Ниже в качестве примера приведен вариант класса Rect, содержащий метод Enlarge (), в котором строится прямоугольник с теми же сторонами, что и у вызывающего объекта прямоугольника, но пропорционально увеличенными на указанный коэффициент.

// Возвратить объект из метода.

using System;

class Rect { int width; int height;

public Rect(int w, int h) { width = w; height = h;

}

public int Area() {

return width * height;

}

public void Show() {

Console.WriteLine(width + ' ' + height);

}

/* Метод возвращает прямоугольник со сторонами, пропорционально увеличенными на указанный коэффициент по сравнению с вызывающим объектом прямоугольника. */ public Rect Enlarge(int factor) {

return new Rect(width * factor, height * factor);

}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату