Foundations
Methods
Methods name reusable work and return a result to the caller.
method call
A method call runs the named method and can use the returned value in another expression.
Methods
Methods.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 = 5;
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 = 3;
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 = 8;
int area = Square(side);
Console.WriteLine($"side={side}");
Console.WriteLine($"area={area}");
}
}
side ← 5
10static void Main()11{12 int side→ 5 = 5; //@side=3, 813 int area = Square(side5);static int Square(int value)
4{5 static int Square(int value5)6 {7 return value5 * value;8 }area ← 25
12 int side = 5; //@side=3, 813 int area→ 25 = Square(side5);1415 Console.WriteLine($"side={side5}");16 Console.WriteLine($"area={area25}");17}outputside=5 area=25
side ← 3
10static void Main()11{12 int side→ 3 = 3;13 int area = Square(side3);static int Square(int value)
4{5 static int Square(int value3)6 {7 return value3 * value;8 }area ← 9
12 int side = 3;13 int area→ 9 = Square(side3);1415 Console.WriteLine($"side={side3}");16 Console.WriteLine($"area={area9}");17}outputside=3 area=9
side ← 8
10static void Main()11{12 int side→ 8 = 8;13 int area = Square(side8);static int Square(int value)
4{5 static int Square(int value8)6 {7 return value8 * value;8 }area ← 64
12 int side = 8;13 int area→ 64 = Square(side8);1415 Console.WriteLine($"side={side8}");16 Console.WriteLine($"area={area64}");17}outputside=8 area=64
Follow the Method Call
sidestarts at5.Square(side)sends5into the method.Squarereturnsvalue * value.areabecomes25.- The program prints
side=5andarea=25. | side | area | | --- | --- | | 3 | 9 | | 5 | 25 | | 8 | 64 |
Exercise: Methods.cs
Reproduce area=25 for side 5, then use the pinned sides 3 and 8 to predict each area.