Возвращаемые значения используются в программировании с самыми разными целями. В одних случаях, как в примере методаMath.Sqrt (), возвращаемое значение содержит результат некоторого вычисления, в других — оно может просто указывать на успешное или неудачное завершение метода, а в третьих — содержать код состояния. Но независимо от преследуемой цели использование возвращаемых значений является неотъемлемой частью программирования на С#.
Для возврата значения из метода в вызывающую часть программы служит следующая форма оператораreturn:
return
где
Используя возвращаемое значение, можно усовершенствовать рассматривавшийся ранее методAreaPerPerson (). Вместо того чтобы выводить величину площади на одного человека, лучше возвратить ее из этого метода. Среди прочих преимуществ такого подхода следует особо отметить возможность использовать возвращаемое значение для выполнения других вычислений. Приведенный ниже пример представляет собой улучшенный вариант рассматривавшейся ранее программы с усовершенствованным методомAreaPerPerson (), возвращающим величину площади на одного человека вместо того, чтобы выводить ее.
// Возвратить значение из метода AreaPerPerson().
using System;
class Building {
public int Floors; // количество этажей
public int Are-a; // общая площадь здания
public int Occupants; // количество жильцов
// Возвратить величину площади на одного человека, public int AreaPerPerson() {
return Area / Occupants;
}
}
// Использовать значение, возвращаемое методом AreaPerPerson(). class BuildingDemo { static void Main() {
Building house = new Building();
Building office = new Building();
int areaPP; // площадь на одного человека
// Присвоить значения полям в объекте house, house.Occupants = 4; house.Area = 2500; house.Floors = 2;
// Присвоить значения полям в объекте office, office.Occupants = 25; office.Area = 4200; office.Floors
// Получить площадь на одного человека в жилом доме. areaPP = house.AreaPerPerson();
Console.WriteLine("Дом имеет:\n " +
house.Floors + " этажа\п " + house.Occupants + " жильца\п " + house.Area +
" кв. футов общей площади, из них\п " + areaPP + " приходится на одного человека");
Console.WriteLine ();
// Получить площадь на одного человека в учреждении. areaPP = office.AreaPerPerson();
Console'. WriteLine ("Учреждение имеет :\n " +
office.Floors + " этажа\п " +
office.Occupants + " работников\п " +
office.Area +