Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
if-else Chain | Control Structures
C# Basics
course content

Course Content

C# Basics

C# Basics

1. Getting Started
2. Dealing with Data Types
3. Control Structures
4. Loops
5. Arrays
6. Methods

book
if-else Chain

We can add additional conditions using the else if keyword. The additional conditions are evaluated in case the previous conditions are not met.

For example:

cs

main

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

In the above program we chained conditions using if-else if. This is called Conditional Chaining. The first condition value_1 < value_2 is evaluated. Since it is false, the program skips to the next condition value_1 > value_2 which is true and hence it executes its code block and stops executing the chain further.

The main feature of Conditional Chaining is that it stops executing the chain as soon as a condition is met.

Consider the following code:

cs

main

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Even though all three conditions are true, it stops executing on the first condition since it's a chain.

Now let's try writing it using simple if keywords without chaining:

cs

main

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

In the above case, each condition is evaluated individually and not treated as a part of any chain hence all three statements are outputted.

We can also add the else keyword at the end of the if-else chain which will execute if no condition is matched:

cs

main

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Which lines will be included in the output of the following program?

Which lines will be included in the output of the following program?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 3. Chapter 9
We're sorry to hear that something went wrong. What happened?
some-alt