Please enable Javascript to correctly display the contents on Dot Net Tricks!
C# Questions & Answers

Statement

  1. What is C# Statement?

    A C# program is expressed in statements. A statement is a single line of code that ends with a semicolon or a block of multiple single-line statements enclosed in {} brackets. A statement block can have nested blocks.

  2. What are different types of decision making statements in C#?

    Decision making statements helps 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, the 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, the 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 met the result, the code within the if block executes. If not, control passes to the else statement, which contains a second "if" statement. If second one met the result, 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 point 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.

  3. Which one is fast, switch or if-else-if ladder?

    Typically, a switch statement is faster than equivalent if-else-if statement. This is due to the compiler's ability to optimise the switch statement. In case of a if-else-if ladder, the compiler need to check each and every if condition in order to execute. While in case of a switch statement compiler does not need to check earlier cases, the compiler is able find out the matching case which leads the fast execution.

  4. What are jump statements?

    The break, got, continue, return and throw statements are known as jump statements. These are used to transfer program control from one point in the program to another point, at any time.

    1. break statement

      This statement terminates the execution of loop or switch in which it appears and transfers program control to the next statement which is placed immediately after the loop or switch.

       public class Example
      {
       static void Main(string[] args)
       {
       for (int i = 1; i <= 10; i++)
       {
       if (i == 5)
       {
       break;
       }
       Console.WriteLine(i);
       }
       Console.WriteLine("Next statement placed after loop");
       }
      }
      /* Output:
       1
       2
       3
       4
       Next statement placed after loop
       

      This statement is also used to terminates an inner nested loop, and return control to the outer loop.

    2. goto statement

      This statement transfers program control to a labeled statement. The label statement must exist in the scope of the goto statement. More than one goto statement can transfer control to the same label. This statement can be used to get out from a loop or an inner nested loop to outer loop.

       public class Example
      {
       static void Main(string[] args)
       {
       for (int i = 1; i <= 10; i++)
       {
       if (i == 5)
       {
       goto Exitlabel;
       }
       Console.WriteLine(i);
       }
       Console.WriteLine("Next statement placed after loop");
       Exitlabel: //goto label
       Console.WriteLine("Labeled statement");
       }
      }
      /* Output:
       1
       2
       3
       4
       Labeled statement
      */
      

      Note

      1. Unlike break statement, it does not transfer the program control to next statement which is placed immediately after the loop or switch.

      2. You can also use goto statement to transfer control to a specific switch-case label or the default label in a switch statement.

      3. It is not recommended to use goto statement since this makes the program logic complex and difficult to understand. It also becomes difficult to trace the control flow of a program execution.

    3. continue statement

      This statement skips the current iteration and passes program control to the next iteration of the enclosing loop in which it appears.

       
      public class Example
      {
       static void Main(string[] args)
       {
       for (int i = 1; i <= 10; i++)
       {
       if (i <= 5)
       {
       continue;
       }
       Console.WriteLine(i);
       }
       Console.WriteLine("Next statement placed after loop");
       }
      }
      /* Output:
       6
       7
       8
       9
       10
       Next statement placed after loop
      */
      

      Unlike break statement, it does not terminates the loop execution but it skip the current iteration of the loop and passes program control to the next iteration of the enclosing loop.

    4. return statement

      This statement terminates the execution of the method in which it appears and returns control to the calling method.

       
      public class Example
      {
       static void Main(string[] args)
       {
       double length = 5.0, width = 2.5;
       double result = CalculateArea(length, width);
       Console.WriteLine("The area is {0:0.00}", result);
       }
       public static double CalculateArea(double length, double width)
       {
       double area = length * width;
       return area;
       }
      }
      /* Output:
       The area is 12.50
      */
      

      If the return statement appear in a try block and the finally block is also exists, it finally block will be executed before control returns to the calling method.

    5. throw statement

      This statement throws an exception which indicate that an error has occurred during the program execution. This statement is used with a combination of try-catch or try-finally statements.

      public class Example
      {
       static void Main(string[] args)
       {
       try
       {
       int number = 5, x = 0;
       double result = number / x;
       Console.WriteLine("Result is {0}", result);
       }
       catch (Exception ex)
       {
       Console.WriteLine("Exception: "+ex.Message);
       }
       }
      }
      /* Output:
       Exception: Attempted to divide by zero.
      */
      
  5. What are the different types of comment in C#?

    There are 3 types of comments in C#.

    1. Single line(//)

    2. Multi(/* */)

    3. Page/XML Comments(///).

  6. What are the different types of comment in C#?

    There are 3 types of comments in C#.

    1. Single line(//)

    2. Multi(/* */)

    3. Page/XML Comments(///).

  7. What are the different types of comment in C#?

    There are 3 types of comments in C#.

    1. Single line(//)

    2. Multi(/* */)

    3. Page/XML Comments(///).

 
 
 
Free Interview Books