An if statement lets a C# program choose between branches.

if statement An `if` statement runs one block when its condition is true and can use `else` for the other case.

Conditionals

temperature
Conditionals.cs
Replay: real traced execution (multi-file project)
using System;

class Program
{
    static void Main()
    {
        int temperature = 72;
        string status = "";

        if (temperature >= 80)
        {
            status = "warm";
        }
        else
        {
            status = "comfortable";
        }

        Console.WriteLine($"temperature={temperature}");
        Console.WriteLine($"status={status}");
    }
}
using System;

class Program
{
    static void Main()
    {
        int temperature = 55;
        string status = "";

        if (temperature >= 80)
        {
            status = "warm";
        }
        else
        {
            status = "comfortable";
        }

        Console.WriteLine($"temperature={temperature}");
        Console.WriteLine($"status={status}");
    }
}
using System;

class Program
{
    static void Main()
    {
        int temperature = 90;
        string status = "";

        if (temperature >= 80)
        {
            status = "warm";
        }
        else
        {
            status = "comfortable";
        }

        Console.WriteLine($"temperature={temperature}");
        Console.WriteLine($"status={status}");
    }
}
  1. temperature ← 72, status ← (empty)

    4{5    static void Main()6    {7        int temperature→ 72 = 72; //@temperature=55, 908        string status→ (empty) = "";
  2. status ← comfortable

    13}14else15{16    status→ comfortable = "comfortable";17}
  3. Console.WriteLine($"temperature={temperature}");

    19    Console.WriteLine($"temperature={temperature72}");20    Console.WriteLine($"status={statuscomfortable}");21}
    outputtemperature=72
    status=comfortable
  1. temperature ← 55, status ← (empty)

    4{5    static void Main()6    {7        int temperature→ 55 = 55;8        string status→ (empty) = "";
  2. status ← comfortable

    13}14else15{16    status→ comfortable = "comfortable";17}
  3. Console.WriteLine($"temperature={temperature}");

    19    Console.WriteLine($"temperature={temperature55}");20    Console.WriteLine($"status={statuscomfortable}");21}
    outputtemperature=55
    status=comfortable
  1. temperature ← 90, status ← (empty)

    4{5    static void Main()6    {7        int temperature→ 90 = 90;8        string status→ (empty) = "";
  2. status ← warm

    10if (temperature90 >= 80)11{12    status→ warm = "warm";13}
  3. Console.WriteLine($"temperature={temperature}");

    19    Console.WriteLine($"temperature={temperature90}");20    Console.WriteLine($"status={statuswarm}");21}
    outputtemperature=90
    status=warm

Follow the Branch

  1. temperature starts at 72.
  2. C# checks whether temperature >= 80.
  3. 72 >= 80 is false.
  4. The else branch sets status to comfortable.
  5. The program prints temperature=72 and status=comfortable. | temperature | comparison | status | | --- | --- | --- | | 55 | false | comfortable | | 72 | false | comfortable | | 90 | true | warm |

Exercise: Conditionals.cs

Reproduce status=comfortable for temperature 72, then use the pinned temperatures 55 and 90 to identify each branch.