Lesson 3 of 13
Control Flow
Learn if/else, and switch in C#, including pattern matching in switch expressions.
int score = 85;
// if/else if/else
if (score >= 90) Console.WriteLine("A");
else if (score >= 80) Console.WriteLine("B");
else if (score >= 70) Console.WriteLine("C");
else Console.WriteLine("Try harder");
// Ternary
string grade = score >= 60 ? "Pass" : "Fail";
// switch with pattern matching (C# 7+)
object shape = "circle";
string desc = shape switch {
"circle" => "Round thing",
"square" => "Four equal sides",
int n when n > 0 => $"Positive number: {n}",
null => "Nothing",
_ => "Unknown" // default
};
Console.WriteLine(desc);
// Classic switch
int day = 2;
switch (day) {
case 1:
Console.WriteLine("Monday"); break;
case 6:
case 7:
Console.WriteLine("Weekend"); break;
default:
Console.WriteLine("Weekday"); break;
}// for loop
for (int i = 0; i < 5; i++) {
Console.Write($"{i} ");
}
Console.WriteLine();
// foreach — iterate over collections
string[] fruits = { "apple", "banana", "cherry" };
foreach (string fruit in fruits) {
Console.WriteLine(fruit);
}
// while
int n = 10;
while (n > 0) {
Console.Write($"{n} ");
n -= 3;
}
// LINQ — Language Integrated Query (C#'s killer feature)
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var evens = numbers.Where(n => n % 2 == 0);
var squares = numbers.Select(n => n * n);
var evenSquares = numbers.Where(n => n % 2 == 0).Select(n => n * n);
int sum = numbers.Sum();
int max = numbers.Max();
foreach (int n2 in evenSquares) {
Console.Write($"{n2} "); // 4 16 36 64 100
}Finished reading?Mark it done to track your progress.
Tip: use the ← and → keys to move between lessons.