Decision making statements help you to make decision based on certain conditions. These conditions are specified by a set of decision making statements having boolean expressions which are evaluated to a boolean value true or false. There are following types of decision making statements in C#.
If statement
An if statement consists of a boolean expression which is evaluated to a boolean value. If the value is true then if block is executed otherwise next statement(s) would be executed.You can have multiple if statement as shown below-- public class Example
- {
- static void Main()
- {
- int a = 5, b = 2;
- int result = a / b;
- if (result == 2)
- {
- Console.WriteLine("Result is 2");
- }
- if (result == 3)
- {
- Console.WriteLine("Result is 3");
- }
- }
- }
- /* Output
- Result is 2
- */
You can also do nesting of if statement means an if statement inside another if that is called nested if statement.If-Else statement
An if-else statement consists of two statements – if statement and else statement. When the expression in an if-statement is evaluated to true then if block is executed otherwise the else block would be executed.- public class Example
- {
- static void Main()
- {
- int a = 5, b = 6;
- int result = a - b;
- if (result > 0)
- {
- Console.WriteLine("Result is greater than zero");
- }
- else
- {
- Console.WriteLine("Result is smaller than or equal to zero");
- }
- }
- }
- /* Output
- Result is smaller than or equal to zero
- */
If-Else-If statement or ladder
The If-Else-If ladder is a set of statements that is used to test a series of conditions. If the first if statement meet the result then code within the if block executes. If not, control passes to the else statement, which contains a second "if" statement. If second one meet the result then code within the if block executes. This continues as a series of else if statements. A default else code block may execute when no condition has been evaluated to true.If-Else-If ladder must contain more specific case at the top and generalize case at the bottom.- public class Example
- {
- static void Main(string[] args)
- {
- char grade = 'B';
- if (grade == 'A')
- {
- Console.WriteLine("Excellent!");
- }
- else if (grade == 'B')
- {
- Console.WriteLine("Well done");
- }
- else if (grade == 'D')
- {
- Console.WriteLine("You passed");
- }
- else if (grade == 'F')
- {
- Console.WriteLine("Better try again");
- }
- else
- {
- Console.WriteLine("You Failed!");
- }
- }
- }
- /* Output
- Well done
- */
Switch statement
Switch statement acts as a substitute for long If-Else-If ladder that is used to test a series of conditions. A switch statement contains one or more case labels which are tested against the switch expression.When one case matches the value with the result of switch expression, the control continues executing the code from that label. When no case label contains a matching value, control is transferred to the default section, if it exists. If there is no default section, no action is taken and control is transferred outside the switch statement.- public class Example
- {
- static void Main(string[] args)
- {
- char grade = 'B';
- switch (grade)
- {
- case 'A':
- Console.WriteLine("Excellent!");
- break;
- case 'B':
- case 'C':
- Console.WriteLine("Well done");
- break;
- case 'D':
- Console.WriteLine("You passed");
- break;
- case 'F':
- Console.WriteLine("Better try again");
- break;
- default:
- Console.WriteLine("You Failed!");
- break;
- }
- }
- }
- /* Output
- Well done
- */
Key points about Switch statement
- Each case label specifies a constant value.
- A switch statement can have multiple switch sections, and each section can have one or more case labels.
- Unlike C and C++, C# does not allow continuing execution from one switch section to the next. It means each switch section must be separated by a break or other jump statement such as goto, return and throw.
- Unlike If-Else-If ladder, it is not mandatory to put more specific case at the top and generalize case at the bottom since all the switch cases have equal precedence.
What do you think?
I hope you will enjoy the decision making statements while programming with C#. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.