BillWoodruff
Синтаксис нескольких языков программирования различает "функции ... методы, возвращающие значение"... и 'методы, которые не возвращают значение.
C# не делает никаких различий, кроме как через обязательный знак возвращаемого типа: либо специальный термин 'void для метода, который ничего не возвращает; либо для функции, которая что-то возвращает, имя возвращаемого типа.
общественного недействительными NoReturnMethod()
public int ReturnIntValueMethod(int a, int b)
Спецификаторы ' out и 'ref можно использовать в объявлениях параметров переменной метода, чтобы разрешить методу сохранять изменения или создавать для переменной, определенной вне метода ... независимо от того, возвращает ли этот метод переменную или нет.
public double a = 3;
public double b = 4;
public double UsesRefMethod(ref double c, ref double d)
{
c = Math.Pow(c, 2);
d = Math.Pow(d, 2);
return Math.Sqrt(c + d);
}
// use :
double result = UsesOutMethod(ref a, ref b);
after this: 'a will be #9, 'b will be #16, 'result will be #5