Please enable Javascript to correctly display the contents on Dot Net Tricks!
 
Become an Expert in C#, .NET, MVC, JAVA, PHP, AngularJS, Hadoop, Android, iphone, Testing etc.
by Joining our Training Programs and Take Your Career to the Next Level! To know more make a call on +91 98 71 749695

Understanding decision making statements in C#

Posted By : Shailendra Chauhan, 28 Apr 2014
Updated On : 28 Apr 2014
Total Views : 91,243   
 
Keywords : C# decision making statements, if vs if else vs switch vs if else ladder, difference between switch and if-else ladder

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#.

  1. 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.

  2. 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
     */
    
  3. 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 
    */
    
  4. 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

    1. Each case label specifies a constant value.

    2. A switch statement can have multiple switch sections, and each section can have one or more case labels.

    3. 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.

    4. 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.

 
Further Reading
 
About the Author
Hey! I'm Shailendra Chauhan full-time author, consultant & trainer. I have more than 6 years of hand over Microsoft .NET technologies and other web technologies like JavaScript, AngularJS, NodeJS etc. I am an entrepreneur, the founder & chief editor of www.dotnet-tricks.com and www.dotnettricks.com. I am author of most popular e-books for technical Interview on ASP.NET MVC Interview Questions and Answers & AngularJS Interview Questions and Answers & LINQ Interview Questions and Answers.
I have delivered 100+ training sessions to professional world-wide over Microsoft .NET technologies such C#, ASP.NET MVC, WCF, Entity Framework and other mobile technologies such Ionic, PhoneGap, Corodva. Read more...
 
Free Interview Books
 
SUBSCRIBE & FOLLOW US
 
Browse By Category
 
 
Like us on Facebook