Loops are fundamental control structures in programming that allow you to execute a block of code multiple times. In C#, there are several types of loops, each suited for different scenarios. This section will cover the following types of loops:
- forloop
- whileloop
- do-whileloop
- foreachloop
- forLoop
for LoopThe for loop is used when you know in advance how many times you want to execute a statement or a block of statements.
Syntax
Example
using System;
class Program
{
    static void Main()
    {
        for (int i = 0; i < 5; i++)
        {
            Console.WriteLine("Iteration: " + i);
        }
    }
}Explanation
- Initialization: int i = 0sets the starting point.
- Condition: i < 5checks if the loop should continue.
- Increment/Decrement: i++updates the loop variable.
Exercise
Write a for loop that prints the numbers from 1 to 10.
using System;
class Program
{
    static void Main()
    {
        for (int i = 1; i <= 10; i++)
        {
            Console.WriteLine(i);
        }
    }
}
- whileLoop
while LoopThe while loop is used when you want to execute a block of code as long as a specified condition is true.
Syntax
Example
using System;
class Program
{
    static void Main()
    {
        int i = 0;
        while (i < 5)
        {
            Console.WriteLine("Iteration: " + i);
            i++;
        }
    }
}Explanation
- Condition: i < 5checks if the loop should continue.
- Code Block: Executes as long as the condition is true.
Exercise
Write a while loop that prints the numbers from 1 to 10.
using System;
class Program
{
    static void Main()
    {
        int i = 1;
        while (i <= 10)
        {
            Console.WriteLine(i);
            i++;
        }
    }
}
- do-whileLoop
do-while LoopThe do-while loop is similar to the while loop, but it guarantees that the code block will be executed at least once.
Syntax
Example
using System;
class Program
{
    static void Main()
    {
        int i = 0;
        do
        {
            Console.WriteLine("Iteration: " + i);
            i++;
        } while (i < 5);
    }
}Explanation
- Code Block: Executes once before the condition is checked.
- Condition: i < 5checks if the loop should continue.
Exercise
Write a do-while loop that prints the numbers from 1 to 10.
using System;
class Program
{
    static void Main()
    {
        int i = 1;
        do
        {
            Console.WriteLine(i);
            i++;
        } while (i <= 10);
    }
}
- foreachLoop
foreach LoopThe foreach loop is used to iterate over a collection or an array.
Syntax
Example
using System;
class Program
{
    static void Main()
    {
        int[] numbers = { 1, 2, 3, 4, 5 };
        foreach (int number in numbers)
        {
            Console.WriteLine("Number: " + number);
        }
    }
}Explanation
- Collection: numbersis the array being iterated over.
- Variable: numberrepresents the current element in the array.
Exercise
Write a foreach loop that prints each character in the string "Hello, World!".
using System;
class Program
{
    static void Main()
    {
        string message = "Hello, World!";
        foreach (char c in message)
        {
            Console.WriteLine(c);
        }
    }
}Common Mistakes and Tips
- Infinite Loops: Ensure that the loop condition will eventually become false. For example, forgetting to increment the loop variable in a whileloop can cause an infinite loop.
- Off-by-One Errors: Be careful with the loop boundaries. For example, using i <= 5instead ofi < 5in aforloop can lead to an extra iteration.
- Collection Modification: Avoid modifying a collection while iterating over it with a foreachloop, as it can cause runtime exceptions.
Conclusion
In this section, you learned about the different types of loops in C# and how to use them. Loops are essential for performing repetitive tasks efficiently. Practice the exercises provided to reinforce your understanding and prepare for more complex programming challenges. Next, we will explore switch statements, which provide a way to handle multiple conditions more elegantly than using multiple if-else statements.
C# Programming Course
Module 1: Introduction to C#
- Introduction to C#
- Setting Up the Development Environment
- Hello World Program
- Basic Syntax and Structure
- Variables and Data Types
Module 2: Control Structures
Module 3: Object-Oriented Programming
- Classes and Objects
- Methods
- Constructors and Destructors
- Inheritance
- Polymorphism
- Encapsulation
- Abstraction
Module 4: Advanced C# Concepts
- Interfaces
- Delegates and Events
- Generics
- Collections
- LINQ (Language Integrated Query)
- Asynchronous Programming
Module 5: Working with Data
Module 6: Advanced Topics
- Reflection
- Attributes
- Dynamic Programming
- Memory Management and Garbage Collection
- Multithreading and Parallel Programming
