在C#中,continue
語(yǔ)句用于跳過循環(huán)體中的當(dāng)前迭代,并立即開始下一次迭代。它通常用于在滿足特定條件時(shí)跳過循環(huán)的某些部分。continue
語(yǔ)句可以單獨(dú)使用或者與標(biāo)簽一起使用。
以下是continue
語(yǔ)句的兩種用法:
在沒有標(biāo)簽的情況下,continue
語(yǔ)句會(huì)跳過當(dāng)前循環(huán)迭代的剩余部分,并立即開始下一次迭代。例如:
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue; // 如果i是偶數(shù),則跳過下面的代碼,進(jìn)入下一次循環(huán)
}
Console.WriteLine(i); // 如果i是奇數(shù),則輸出i
}
在這個(gè)例子中,當(dāng)i
是偶數(shù)時(shí),continue
語(yǔ)句會(huì)被執(zhí)行,導(dǎo)致Console.WriteLine(i);
代碼塊被跳過。因此,只有奇數(shù)會(huì)被輸出到控制臺(tái)。
帶標(biāo)簽的continue
語(yǔ)句用于跳過特定標(biāo)簽所在循環(huán)迭代的剩余部分。標(biāo)簽是一個(gè)標(biāo)識(shí)符,通常與goto
語(yǔ)句一起使用,用于指定要跳轉(zhuǎn)到的位置。例如:
outerLoop:
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 5)
{
continue outerLoop; // 如果j等于5,則跳過當(dāng)前循環(huán)的剩余部分,并立即開始o(jì)uterLoop循環(huán)的下一次迭代
}
Console.Write($"{i},{j} "); // 輸出i和j的值
}
}
在這個(gè)例子中,內(nèi)部循環(huán)有一個(gè)標(biāo)簽outerLoop
。當(dāng)j
等于5時(shí),帶標(biāo)簽的continue
語(yǔ)句會(huì)被執(zhí)行,導(dǎo)致內(nèi)部循環(huán)的剩余部分被跳過,并立即開始外部循環(huán)的下一次迭代。因此,當(dāng)j
等于5時(shí),不會(huì)輸出任何內(nèi)容。