The do-while and while statements provide control over code execution flow by repeating a block of code until a condition is satisfied.
The do-while statement runs a statement or block of statements as long as a specified Boolean expression remains true. As this expression is evaluated after each loop execution, a do-while loop executes at least once.
Let’s create code that continuously generates random numbers ranging from 1 to 10 until we generate the number 7. The number 7 could be generated in one iteration or after several iterations.
To begin, create a static class file called “WhileLoop.cs” within the console application. Insert the provided code snippet into this file.
/// <summary>
/// Outputs
/// 2
/// 5
/// 8
/// 2
/// 7
/// </summary>
public static void DoWhileLoopExample()
{
Random random = new Random();
int current = 0;
do
{
current = random.Next(1, 11);
Console.WriteLine(current);
} while (current != 7);
}
Execute the code from the main method as follows
#region Day 5 - While & do-while
WhileLoop.DoWhileLoopExample();
#endregion
2
5
8
2
7
The while statement will iterate based on the Boolean expression. To do that add another method into the same static class as shown below
/// <summary>
/// Outputs
/// 9
/// 7
/// 5
/// Last number: 1
/// </summary>
public static void WhileLoopExample()
{
Random random = new Random();
int current = random.Next(1, 11);
while (current >= 3)
{
Console.WriteLine(current);
current = random.Next(1, 11);
}
Console.WriteLine($"Last number: {current}");
}
Execute the code from the main method as follows
#region Day 5 - While & do-while
WhileLoop.WhileLoopExample();
#endregion
9
7
5
Last number: 1
Sometimes, developers need to skip the rest of the code within a code block and move on to the next iteration. To achieve this add another method into the same static class as shown below
/// <summary>
/// Outputs
/// 5
/// 1
/// 6
/// 7
/// </summary>
public static void ContinueDoWhileLoopExample()
{
Random random = new Random();
int current = random.Next(1, 11);
do
{
current = random.Next(1, 11);
if (current >= 8) continue;
Console.WriteLine(current);
} while (current != 7);
}
Execute the code from the main method as follows
#region Day 5 - While & do-while
WhileLoop.ContinueDoWhileLoopExample();
#endregion
5
1
6
7
GitHub — ssukhpinder/30DayChallenge.Net
Thank you for being a part of the C# community! Before you leave:
Follow us: X | LinkedIn | Dev.to | Hashnode | Newsletter | Tumblr
Visit our other platforms: GitHub | Instagram | Tiktok | Quora | Daily.dev
More content at C# Programming
Also published here.