Conditional Constructs C#
Conditional constructs is used to transfer execution control to the correct path based on comparison result. The conditional constructs determine runtime that which statements need to be executed. It uses comparison result for determining correct path of execution. If else, switch case are used for comparing value.
C# if else constructs
The if… else construct is used for determining the flow of program based on returning expression value. It evaluates the comparison operator and based on value executes the statements. For example, if you want to execute a piece of code, when the requirements meet then if… else construct determine which piece of code will be executed. Else is default condition and executes when no if condition matches. The following example will clear the concept of if… else constructs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace if_else { class Program { static void Main(string[] args) { int opt, num1, num2; float result; label: Console.WriteLine("\n\tMenu"); Console.WriteLine("\nPress 1 for add"); Console.WriteLine("Press 2 for subtraction"); Console.WriteLine("Press 3 for multiplication"); Console.WriteLine("Press 4 for Division"); Console.Write("\n\nEnter first number:\t"); num1 = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter second number:\t"); num2 = Convert.ToInt32(Console.ReadLine()); Console.Write("\nEnter your option:\t"); opt = Convert.ToInt32(Console.ReadLine()); if (opt == 1) { result = num1 + num2; Console.WriteLine("\n{0} + {1} = {2}", num1, num2, result); } else if (opt == 2) { result = num1 - num2; Console.WriteLine("\n{0} - {1} = {2}", num1, num2, result); } else if (opt == 3) { result = num1 * num2; Console.WriteLine("\n{0} x {1} = {2}", num1, num2, result); } else if (opt == 4) { result = (float)(num1 / num2); Console.WriteLine("\n{0} / {1} = {2}", num1, num2, result); } else { Console.WriteLine("Invalid option. Try again"); goto label; } Console.ReadLine(); } } }
If you have more than one if construct then you can use else if construct for evaluating expression. The C# also supports nested if else construct. If you want to evaluate certain condition based on previous if, then you can use nested if-else constructs in C# programming.
C# switch case constructs
Switch case is also another condition constructs in C# programming that evaluates the condition as if else but only difference is that it makes program simpler and easier. It is used when there is multiple if condition in a program. It also includes a default value in Default statements. If no any case matches then Default statements executes and run the code.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace switch_case { class Program { static void Main(string[] args) { int opt, num1, num2; float result; label: Console.WriteLine("\n\tMenu"); Console.WriteLine("\nPress 1 for add"); Console.WriteLine("Press 2 for subtraction"); Console.WriteLine("Press 3 for multiplication"); Console.WriteLine("Press 4 for Division"); Console.Write("\n\nEnter first number:\t"); num1 = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter second number:\t"); num2 = Convert.ToInt32(Console.ReadLine()); Console.Write("\nEnter your option:\t"); opt = Convert.ToInt32(Console.ReadLine()); switch (opt) { case 1: result = num1 + num2; Console.WriteLine("\n{0} + {1} = {2}", num1, num2, result); break; case 2: result = num1 - num2; Console.WriteLine("\n{0} - {1} = {2}", num1, num2, result); break; case 3: result = num1 * num2; Console.WriteLine("\n{0} * {1} = {2}", num1, num2, result); break; case 4: result = (float)num1 / num2; Console.WriteLine("\n{0} / {1} = {2}", num1, num2, result); break; default: Console.WriteLine("\nInvalid option. Please try again."); goto label; } Console.ReadLine(); } } }