C# Switch

C# Switch Statements

Use the switch statement to select one of many code blocks to be executed.


Syntax

switch (expression)
{
 case x:
  // code block
  break;
 case y:
  // code block
  break;
 default:
  // code block
  break:
}




This is how it works:

• The switch expression is evaluated once
• The value of the expression is compared with the values of each case
• If there is a match, the associated block of code is executed
• The break and default keywords will be described later in this chapter

The example below uses the weekday number to calculate the weekday name:


Example

int day = 4;
switch (day)
{
 case 1:
  Console .WriteLine( "Monday");
  break;
 case 2:
  Console .WriteLine( "Tuesday");
  break;
 case 3:
  Console .WriteLine( "Wednesday");
  break;
 case 4:
  Console .WriteLine( "Thursday");
  break;
 case 5:
  Console .WriteLine( "Friday");
  break;
 case 6:
  Console .WriteLine( "Saturday");
  break;
 case 7:
  Console .WriteLine( "Sunday");
  break;
}
// Outputs "Thursday" (day 4)




The break Keyword

When C# reaches a break keyword, it breaks out of the switch block.

This will stop the execution of more code and case testing inside the block.

When a match is found, and the job is done, it's time for a break. There is no need for more testing.

A break can save a lot of execution time because it "ignores" the execution of all the rest of the code in the switch block.


The default Keyword

The default keyword is optional and specifies some code to run if there is no case match:


Example

int day = 4;
switch (day)
{
 case 6:
  Console .WriteLine( "Today is Saturday.");
  break;
 case 7:
  Console .WriteLine( "Today is Sunday.");
  break;
 default:
  Console .WriteLine( "Looking forward to the Weekend.");
  break:
}
// Outputs "Looking forward to the Weekend."




C# While Loop

Loops

Loops can execute a block of code as long as a specified condition is reached.

Loops are handy because they save time, reduce errors, and they make code more readable.

C# While Loop

The while loop loops through a block of code as long as a specified condition is True:


Syntax

while (condition)
{
 // code block to be executed
}




In the example below, the code in the loop will run, over and over again, as long as a variable (i) is less than 5:


Example

int i = 0;
while (i < 5)
{
  Console .WriteLine(i);
  i++;
}




Note: Do not forget to increase the variable used in the condition, otherwise the loop will never end!


The Do/While Loop

The do/while loop is a variant of the while loop. This loop will execute the code block once, before checking if the condition is true, then it will repeat the loop as long as the condition is true.


Syntax

do
{
 // code block to be executed
}
while (condition);




The example below uses a do/while loop. The loop will always be executed at least once, even if the condition is false, because the code block is executed before the condition is tested:


Example

int i = 0;
do
{
  Console .WriteLine(i);
  i++
}
while (i < 5);




Do not forget to increase the variable used in the condition, otherwise the loop will never end!


C# For Loop

C# For Loop

When you know exactly how many times you want to loop through a block of code, use the for loop instead of a while loop:


Syntax

for(statement1; statement2; statement3;)
{
 // code block to be executed
}




Statement 1 is executed (one time) before the execution of the code block.

Statement 2 defines the condition for executing the code block.

Statement 3 is executed (every time) after the code block has been executed.

The example below will print the numbers 0 to 4:


Example

for (int i = 0; i < 5 ; i++)
{
 Console.WriteLine(i);
}




Example explained
Statement 1 sets a variable before the loop starts (int i = 0).

Statement 2 defines the condition for the loop to run (i must be less than 5). If the condition is true, the loop will start over again, if it is false, the loop will end.

Statement 3 increases a value (i++) each time the code block in the loop has been executed.

Another Example

This example will only print even values between 0 and 10:


Example

for (int i = 0; i <= 10 ; i = i +2)
{
 Console.WriteLine(i);
}




Nested Loops

It is also possible to place a loop inside another loop. This is called a nested loop.

The "inner loop" will be executed one time for each iteration of the "outer loop":


Example

// Outer loop
for (int i = 1; i <= 2 ; i = ++i)
{
 Console.WriteLine("Outer" + i); // Executes 2 times

 // Inner loop
 for (int j = 1; i <= 3 ; i = j++)
 {
  Console.WriteLine("Inner" + j); // Executes 6 times (2 * 3)
 }
}




C# Break and Continue

C# Break

You have already seen the break statement used in an earlier chapter of this tutorial. It was used to "jump out" of a switch statement.

The break statement can also be used to jump out of a loop.

This example jumps out of the loop when i is equal to 4:


Example

for (int i = 0; i < 10 ; i++ )
{
 if (i==4)
 {
  break;
 }
 Console.WriteLine(i);
}




C# Continue

The continue statement breaks one iteration (in the loop), if a specified condition occurs, and continues with the next iteration in the loop.

This example skips the value of 4:


Example

for (int i = 0; i < 10 ; i++ )
{
 if (i==4)
 {
  continue;
 }
 Console.WriteLine(i);
}




Break and Continue in While Loop

You can also use break and continue in while loops:


Break Example

int i = 0;
while (i < 10)
{
 Console.WriteLine(i);
 i++;
 if (i==4)
 {
  break;
 }
}





Break Example

int i = 0;
while (i < 10)
{
 if (i==4)
 {
  i++;
  continue;
 }
 Console.WriteLine(i);
 i++;
}




C# Arrays

Create an Array

Arrays are used to store multiple values in a single variable, instead of declaring separate variables for each value.

To declare an array, define the variable type with square brackets:


string[] cars;



We have now declared a variable that holds an array of strings.

To insert values to it, we can use an array literal - place the values in a comma-separated list, inside curly braces:


string[] cars={"Volvo","BMW","Ford","Mazda"};



To create an array of integers, you could write:


int[] myNum={10, 20, 30, 40};



Access the Elements of an Array

You access an array element by referring to the index number.

This statement accesses the value of the first element in cars:


Example

string[] cars={"Volvo","BMW","Ford","Mazda"};
Console.WriteLine(cars[0]);
// Outputs Volvo




Note: Array indexes start with 0: [0] is the first element. [1] is the second element, etc.


Change an Array Element

To change the value of a specific element, refer to the index number:


cars[0]="Opel";




Example

string[] cars={"Volvo","BMW","Ford","Mazda"};
cars[0]="Opel";
Console.WriteLine(cars[0]);
// Now outputs Opel instead of Volvo




Array Length

To find out how many elements an array has, use the Length property:


Example

string[] cars={"Volvo","BMW","Ford","Mazda"};
Console.WriteLine(cars.Length);
// Outputs 4



Other Ways to Create an Array

If you are familiar with C#, you might have seen arrays created with the new keyword, and perhaps you have seen arrays with a specified size as well. In C#, there are different ways to create an array:


// Create an array of four elements, and add values later
string[] cars =new string [4];

// Create an array of four elements and add values right away
string[] cars = new string[4]{ "Volvo", "BMW", "Ford", "Mazda", };

// Create an array of four elements without specifying the size
string[] cars = new string[] { "Volvo", "BMW", "Ford", "Mazda", };

// Create an array of four elements, omitting the new keyword, and without specifying the size
string[] cars = { "Volvo", "BMW", "Ford", "Mazda", };



It is up to you which option you choose. In our tutorial, we will often use the last option, as it is faster and easier to read.

However, you should note that if you declare an array and initialize it later, you have to use the new keyword:


// Declare an array
string[] cars;

// Add values, using new
cars=new string[] {"Volvo","BMW","Ford"};

// Add values without using new (this will cause an error)
cars={"Volvo","BMW","Ford"};



C# Loop Through Arrays

Loop Through an Array

You can loop through the array elements with the for loop, and use the Length property to specify how many times the loop should run.

The following example outputs all elements in the cars array:


Example

string[] cars ={"Volvo","Volvo", "BMW", "Ford"}
for (i = 0; i < cars.Length; i++)
{
 Console.WriteLine(cars[i]);
}




Test Yourself With Quizzes

Click Button to take quiz