C# > Core C# > Control Flow > do-while Loop
do-while Loop with Break Statement
This snippet demonstrates how to use the break
statement within a do-while loop to exit the loop prematurely based on a specific condition.
Code Snippet
This code demonstrates using the break
statement to exit a do-while loop before its natural completion. The loop is designed to iterate as long as i
is less than 10. However, inside the loop, we check if i
is greater than 5. If it is, we print a message and execute the break
statement, which immediately terminates the loop. Without the break, the loop would continue until i
reaches 10.
using System;
public class DoWhileBreakExample
{
public static void Main(string[] args)
{
int i = 0;
do
{
Console.WriteLine("Iteration: " + i);
i++;
if (i > 5)
{
Console.WriteLine("Breaking out of the loop.");
break; // Exit the loop
}
} while (i < 10);
Console.WriteLine("Loop finished.");
}
}
Using 'break' Statements
The 'break' statement provides a mechanism to exit loops (while, do-while, for, foreach) and switch statements based on a condition evaluated during execution. When a 'break' statement is encountered within a loop, the control is immediately transferred to the next statement following the loop. This offers greater flexibility in managing loop execution based on runtime conditions.
Real-Life Use Case
Imagine searching a collection for a specific item. Once the item is found, there's no need to continue searching. A break
statement allows you to terminate the search loop immediately, improving efficiency.
using System;
using System.Collections.Generic;
public class SearchExample
{
public static void Main(string[] args)
{
List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David", "Eve" };
string targetName = "Charlie";
bool found = false;
do
{
foreach (string name in names)
{
Console.WriteLine("Checking name: " + name);
if (name == targetName)
{
Console.WriteLine("Found " + targetName + "!");
found = true;
break; // Exit the foreach loop
}
}
} while (false); // Executes once
if(!found)
{
Console.WriteLine(targetName + " not found!");
}
}
}
When to Use 'break'
Use the break
statement when you need to exit a loop prematurely based on a specific condition that arises during the loop's execution. This can improve efficiency and readability by avoiding unnecessary iterations. Common scenarios include:
Best Practices
FAQ
-
Does 'break' exit the entire program?
No, the 'break' statement only exits the innermost loop (or switch statement) in which it is used. It does not exit the entire program. -
Can I use 'break' in nested loops?
Yes, you can use 'break' in nested loops. However, it will only exit the loop in which it is directly contained. To exit multiple nested loops, you might need to use labels or restructure your code.