Control Structures – The Loop

Control Structures

When developing software, you most probably will need to make use of some form or another of iterative logic. Like most languages, C# offers a number of looping constructs each of which can have different uses.

The for Loop

This loop structure tends to be used when you know how many times you want to iterate, and it is also preferred if you want to keep a counter or an iterator.

The for loop is made out of three parts:

for(<initializer>; <boolean expression>; <iterator>) { <your code> }

The initializer is where you can declare and initialize a counter variable. This part of the loop is executed before the actual loop iterations, so it is a one time execution.

The boolean expression is a boolean value which is checked on each loop iteration. The loop will keep executing as long as the boolean expression results to true. When this value becomes false the loop will terminate.

The iterator usually consists of a counter being incremented or decremented. This is done on each loop iteration.

Below is an example of a for loop which is looping for 10 iterations and printing the iteration value to screen.

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("Iteration: {0}", i);
}

The foreach Loop

This loop structure operates on collections of objects which implement the IEnumerable interface, such as the ArrayList for example.

The syntax for a foreach loop looks like this:

foreach (<type> <iteration variable>  in <list>) { <your code> }

The type is the data type of item contained within the list being iterated. For example,when iterating an ArrayList populated with string objects, the type would be string. If instead you ar iterating an array of integers the type would be int.

The iteration variable is used to access the current item in the loop, and the list is the collection of items you want to loop.

Below is an example of a foreach loop which is iterating an array of names and displaying each one on screen.

string[] names = { "Dave", "Francine", "Andrew", "Maria", "Keith" };

foreach (string name in names)
{
    Console.WriteLine("Hello {0}", name);
}

It is important to note that with the foreach loop the iteration variable (name in the above example) is read-only.

The while Loop

This loop structure is probably the simplest form of loop in C#. The syntax for this loop is as follows:

while (<boolean expression>) { <your code> }

The while loop keeps on iterating until the boolean expression results in false.

Below is an example of a while loop. The loop will iterate for 5 times and display the iteration number on screen.

int counter = 0;

while (counter < 5)
{
    Console.WriteLine("Iteration: {0}", counter);
    counter++;
}

The do-while Loop

A do-while loop and a while loop are very similar. The only difference is that the do-while loop checks its boolean condition at the end of the loop. This means that a do-while loop will always execute at least once since it checks if it should exit the loop at the end.

The syntax for the do-while loop looks like this:

do { <your code> } while (<boolean expression>)

Below is the same example we used for the while loop but this time using a do-while loop. In-fact the outputs for both loops are identical.

int counter = 0;
do
{
    Console.WriteLine("Iteration: {0}", counter);
    counter++;
} while (counter < 5);

That concludes my explanation of loop structures in C#. I hope you found this article useful. Stay tuned to this blog for more articles in the near future.

Dave

1 comment… add one

Leave a Comment