ВУЗ:
Составители:
Рубрика:
69
информацию методу, их значения в теле метода только читаются. Вход-
ные параметры задаются без ключевых слов out и ref.
Выходные параметры представляют собой результаты метода, они
получают значения в ходе работы метода. Выходные параметры всегда
должны сопровождаться ключевым словом out. Выходным парамет-
рам в теле метода обязательно должно присваиваться некоторое значе-
ние. В противном случае возникает ошибка уже на этапе компиляции.
Обновляемые параметры выполняют обе функции. Их значения
используются в ходе вычислений и обновляются в результате работы
метода. Обновляемые параметры сопровождаться ключевым словом
ref.
Для примера рассмотрим следующую группу методов:
void A(out long p2, int p1) {
p2 = (long) Math.Pow(p1,3);
Console.WriteLine("Метод A-1");
}
void A(out long p2, params int[] p) {
p2=0;
for(int i=0; i <p.Length; i++)
p2 += (long)Math.Pow(p[i],3);
Console.WriteLine("Метод A-2");
}
int f(ref int a) {
return(a++);
}
Рассмотрим только заголовки методов. Все методы закрыты, по-
скольку объявлены без модификатора доступа. Перегруженные методы
с именем A не возвращают результирующее значение, а метод f – воз-
вращает значение. Оба перегруженных метода A() имеют разную сиг-
натуру. Хотя имена и число параметров у всех методов одинаковы, но
типы и ключевые слова, предшествующие параметрам, различны. Пер-
вый параметр у обоих перегруженных методов – выходной и сопровож-
дается ключевым словом out, в теле метода этому параметру присваи-
вается значение.
Параметр функции f – обновляемый, он снабжен ключевым сло-
вом ref, в теле функции используется его значение для получения ре-
зультата функции, но и само значение параметра изменяется в теле
функции. Один метод из группы перегруженных методов использует
ключевое слово params для своего последнего параметра.
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »