Control Flow
Else-If Chains
An else if chain checks several conditions in order.
else-if chain
An else-if chain keeps checking conditions until one branch matches.
Else-If Chains
ElseIfChain.cs
Replay: real traced execution (multi-file project)
using System;
class Program
{
static void Main()
{
int score = 82;
string grade;
if (score >= 90)
{
grade = "A";
}
else if (score >= 70)
{
grade = "pass";
}
else
{
grade = "retry";
}
Console.WriteLine($"score={score}");
Console.WriteLine($"grade={grade}");
}
}
using System;
class Program
{
static void Main()
{
int score = 59;
string grade;
if (score >= 90)
{
grade = "A";
}
else if (score >= 70)
{
grade = "pass";
}
else
{
grade = "retry";
}
Console.WriteLine($"score={score}");
Console.WriteLine($"grade={grade}");
}
}
using System;
class Program
{
static void Main()
{
int score = 95;
string grade;
if (score >= 90)
{
grade = "A";
}
else if (score >= 70)
{
grade = "pass";
}
else
{
grade = "retry";
}
Console.WriteLine($"score={score}");
Console.WriteLine($"grade={grade}");
}
}
score ← 82
4{5 static void Main()6 {7 int score→ 82 = 82; //@score=59, 958 string grade;grade ← pass
13}14else if (score82 >= 70)15{16 grade→ pass = "pass";17}Console.WriteLine($"score={score}");
23 Console.WriteLine($"score={score82}");24 Console.WriteLine($"grade={gradepass}");25}outputscore=82 grade=pass
score ← 59
4{5 static void Main()6 {7 int score→ 59 = 59;8 string grade;grade ← retry
17}18else19{20 grade→ retry = "retry";21}Console.WriteLine($"score={score}");
23 Console.WriteLine($"score={score59}");24 Console.WriteLine($"grade={graderetry}");25}outputscore=59 grade=retry
score ← 95
4{5 static void Main()6 {7 int score→ 95 = 95;8 string grade;grade ← A
10if (score95 >= 90)11{12 grade→ A = "A";13}Console.WriteLine($"score={score}");
23 Console.WriteLine($"score={score95}");24 Console.WriteLine($"grade={gradeA}");25}outputscore=95 grade=A
Choose the Grade
scorestarts at82.- The first check,
score >= 90, is false. - The
else ifcheck,score >= 70, is true. gradebecomespass. | Score | First matching branch | Grade | | --- | --- | --- | |95|if|A| |82|else if|pass| |59|else|retry|
Exercise: ElseIfChain.cs
Use if, else if, and else to map a score to A, pass, or retry