Methods and Parameters
Overloads
Overloaded methods share a name but accept different parameter types or counts.
overload
An overload is another method with the same name and a different parameter list.
Overloads
Overloads.cs
Replay: real traced execution (multi-file project)
using System;
class Program
{
static string Describe(int count)
{
return $"count={count}";
}
static string Describe(string name, int count)
{
return $"{name}:{count}";
}
static void Main()
{
int count = 3;
string first = Describe(count);
string second = Describe("item", count);
Console.WriteLine(first);
Console.WriteLine(second);
}
}
using System;
class Program
{
static string Describe(int count)
{
return $"count={count}";
}
static string Describe(string name, int count)
{
return $"{name}:{count}";
}
static void Main()
{
int count = 1;
string first = Describe(count);
string second = Describe("item", count);
Console.WriteLine(first);
Console.WriteLine(second);
}
}
using System;
class Program
{
static string Describe(int count)
{
return $"count={count}";
}
static string Describe(string name, int count)
{
return $"{name}:{count}";
}
static void Main()
{
int count = 5;
string first = Describe(count);
string second = Describe("item", count);
Console.WriteLine(first);
Console.WriteLine(second);
}
}
count ← 3
15static void Main()16{17 int count→ 3 = 3; //@count=1, 518 string first = Describe(count3);19 string second = Describe("item", count);static string Describe(int count)
4{5 static string Describe(int count3)6 {7 return $"count={count3}";8 }first ← count=3
17int count = 3; //@count=1, 518string first→ count=3 = Describe(count3);19string second = Describe("item", count3);static string Describe(string name, int count)
10static string Describe(string nameitem, int count3)11{12 return $"{nameitem}:{count3}";13}second ← item:3
18 string first = Describe(count);19 string second→ item:3 = Describe("item", count3);2021 Console.WriteLine(firstcount=3);22 Console.WriteLine(seconditem:3);23}outputcount=3 item:3
count ← 1
15static void Main()16{17 int count→ 1 = 1;18 string first = Describe(count1);19 string second = Describe("item", count);static string Describe(int count)
4{5 static string Describe(int count1)6 {7 return $"count={count1}";8 }first ← count=1
17int count = 1;18string first→ count=1 = Describe(count1);19string second = Describe("item", count1);static string Describe(string name, int count)
10static string Describe(string nameitem, int count1)11{12 return $"{nameitem}:{count1}";13}second ← item:1
18 string first = Describe(count);19 string second→ item:1 = Describe("item", count1);2021 Console.WriteLine(firstcount=1);22 Console.WriteLine(seconditem:1);23}outputcount=1 item:1
count ← 5
15static void Main()16{17 int count→ 5 = 5;18 string first = Describe(count5);19 string second = Describe("item", count);static string Describe(int count)
4{5 static string Describe(int count5)6 {7 return $"count={count5}";8 }first ← count=5
17int count = 5;18string first→ count=5 = Describe(count5);19string second = Describe("item", count5);static string Describe(string name, int count)
10static string Describe(string nameitem, int count5)11{12 return $"{nameitem}:{count5}";13}second ← item:5
18 string first = Describe(count);19 string second→ item:5 = Describe("item", count5);2021 Console.WriteLine(firstcount=5);22 Console.WriteLine(seconditem:5);23}outputcount=5 item:5