Lệnh continue khiến vòng lặp bỏ qua phần còn lại của thân vòng lặp và ngay lập tức kiểm tra lại điều kiện để lặp tiếp.
continue hoạt động tương tự break nhưng thay vì kết thúc vòng lặp, nó ép buộc lần lặp tiếp theo diễn ra, bỏ qua code ở giữa.
Đối với while, continue chuyển điều khiển đến điều kiện kiểm tra.
Ví dụ
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
int a = 10;
Console.WriteLine("Vòng lặp while với continue (bỏ qua 15):");
while (a < 20)
{
if (a == 15)
{
a = a + 1; // Quan trọng: tăng trước khi continue
continue; // Bỏ qua Console.WriteLine cho a=15
}
Console.WriteLine("Giá trị a: {0}", a);
a++;
}
Console.ReadLine();
}
}
}
Kết quả
Vòng lặp while với continue (bỏ qua 15): Giá trị a: 10 Giá trị a: 11 Giá trị a: 12 Giá trị a: 13 Giá trị a: 14 Giá trị a: 16 Giá trị a: 17 Giá trị a: 18 Giá trị a: 19
Lưu ý quan trọng
Trong while và do-while, continue nhảy về điều kiện kiểm tra. Phải cập nhật biến điều khiển trước khi continue, ngược lại sẽ gây vòng lặp vô tận:
// SAI - vòng lặp vô tận
while (a < 20)
{
if (a == 15)
continue; // a không tăng, lặp mãi tại a=15
a++;
}
// ĐÚNG
while (a < 20)
{
if (a == 15)
{
a++; // Tăng trước
continue; // Sau đó bỏ qua
}
a++;
}
Trong for loop: continue nhảy đến phần cập nhật (iteration expression), an toàn hơn.