Methods and Parameters
Return Values
A method can calculate a value and return it to the caller.
return value
A return value is the result a method gives back after it runs.
Return Values
ReturnValues.cs
Replay: real traced execution (multi-file project)
using System;
class Program
{
static int Square(int value)
{
return value * value;
}
static void Main()
{
int side = 4;
int area = Square(side);
Console.WriteLine($"side={side}");
Console.WriteLine($"area={area}");
}
}
using System;
class Program
{
static int Square(int value)
{
return value * value;
}
static void Main()
{
int side = 2;
int area = Square(side);
Console.WriteLine($"side={side}");
Console.WriteLine($"area={area}");
}
}
using System;
class Program
{
static int Square(int value)
{
return value * value;
}
static void Main()
{
int side = 6;
int area = Square(side);
Console.WriteLine($"side={side}");
Console.WriteLine($"area={area}");
}
}
side ← 4
10static void Main()11{12 int side→ 4 = 4; //@side=2, 613 int area = Square(side4);static int Square(int value)
4{5 static int Square(int value4)6 {7 return value4 * value;8 }area ← 16
12 int side = 4; //@side=2, 613 int area→ 16 = Square(side4);1415 Console.WriteLine($"side={side4}");16 Console.WriteLine($"area={area16}");17}outputside=4 area=16
side ← 2
10static void Main()11{12 int side→ 2 = 2;13 int area = Square(side2);static int Square(int value)
4{5 static int Square(int value2)6 {7 return value2 * value;8 }area ← 4
12 int side = 2;13 int area→ 4 = Square(side2);1415 Console.WriteLine($"side={side2}");16 Console.WriteLine($"area={area4}");17}outputside=2 area=4
side ← 6
10static void Main()11{12 int side→ 6 = 6;13 int area = Square(side6);static int Square(int value)
4{5 static int Square(int value6)6 {7 return value6 * value;8 }area ← 36
12 int side = 6;13 int area→ 36 = Square(side6);1415 Console.WriteLine($"side={side6}");16 Console.WriteLine($"area={area36}");17}outputside=6 area=36
Follow the Return
sidestarts as4.Square(side)passes4into the method.- The method calculates
4 * 4. returnsends16back to the caller.- The caller stores it in
area. | side | calculation | returned area | | --- | --- | --- | | 4 |4 * 4| 16 | | 2 |2 * 2| 4 | | 6 |6 * 6| 36 |
Exercise: ReturnValues.cs
Reproduce side=4 and area=16, then use the pinned side variants 2 and 6 to predict area=4 and area=36.