Break and continue is a very basic concept of any programming language and I think it is supported by almost all popular languages e.g. C++, C#, Java, JavaScript, etc. I know that most of us know about it very well but for fresher guys its little bit confusing. So, I am explaining here so that even fresher can understand and use it easily.
Break (breaks the loop/switch)
Break statement is used to terminate the current loop iteration or terminate the switch statement in which it appears
Break statement can be used in the following scenarios:
- for loop (For loop & nested for loop and Parallel.for)
- foreach loop (foreach loop & nested foreach loop and Parallel. foreach)
- While (while loop & nested while loop)
- Do while (do while loop and nested while loop)
- Switch case (Switch cases and nested switch cases)
Continue (skip the execution of current iteration)
The continue statement is not same as break statement. Break statement breaks the loop/switch whereas continue skip the execution of current iteration only and it does not break the loop/switch i.e. it passes the control to the next iteration of the enclosing while loop, do while loop, for loop or for each statement in which it appears.
Let’s understand the difference via some examples:
- List<int> EvenNumberList = new List<int>();
- List<int> OddNumberList = new List<int>();
- List<int> PrimeNumberList = new List<int>();
-
- for (int i = 1; i <= 200; i++)
- {
- if (i > 100)
- break;
- if (i % 2 == 0)
- {
- EvenNumberList.Add(i);
- continue;
- }
- else
- {
- OddNumberList.Add(i);
- if (IsPrimeNumber(i))
- {
- PrimeNumberList.Add(i);
- }
- }
- }
1. In the above example I am checking if number is greater than 100, then break the loop. No code for the loop will be executed after that.
2. If a number is even then it cannot be odd or prime number so we can skip the current iteration.
We can break multiple for / for each loop using break,
-
- bool BreakAllLoops = false;
- for (int i = 0; i < 10; i++)
- {
-
- if (BreakAllLoops)
- break;
- for (int j = 0; j < 10; j++)
- {
-
-
- if (BreakAllLoops)
- break;
- for (int k = 0; k < 10; k++)
- {
-
- if (k == 5)
- {
- break;
- }
- }
- }
- }
Break statement in foreach, while, do while, Parallel.for, Parallel. Foreach - #region foreach loop break statement
- foreach (var item in collection)
- {
-
- break;
- }
- #endregion
-
- #region while loop break statement
- while (true)
- {
- break;
- }
- #endregion
-
- #region Do while break statement
- do
- {
- break;
- } while (true);
- #endregion
-
- #region Switch case break statement
- int i = 10;
- switch (i)
- {
- case 1:
-
- i = 1;
- break;
- default:
- i = 1;
- break;
- }
- #endregion
-
- #region Parallel.for break statement
-
- Parallel.for(int m = 0; m < 10; m++)
- {
- break;
-
- }
- #endregion
-
- #region Parallel.foreach break statement
- Parallel.foreach(var item in collection)
- {
- break;
- }
- #endregion