1. 程式人生 > 其它 >c#入門-跳出迴圈

c#入門-跳出迴圈

技術標籤:c#入門

除了迴圈的條件中判斷為false結束迴圈以外,有一種方法可以主動的結束迴圈:
break;

int i = 0;
while (true)
{
	Console.WriteLine("請輸入一個數字以繼續,輸入0將結束迴圈");
	if (Convert.ToInt32(Console.ReadLine()) == 0)
		break;
	Console.WriteLine($"這是第{++i}次迴圈");
}

當然,像這種東西一般都是配合if使用,不然沒什麼意義。

使用break和在條件判斷結束的區別在於:
在執行到break時會中斷迴圈,不會執行完這次迴圈剩下的內容


可以中斷迴圈的還有continue

int sum = 0, j = 0;
for (int i = 1; i < 100; i++)
{
	if (i % 2 == 0) continue;
	sum += i;
	j++;
}
Console.WriteLine($"100以內一共有{j}個偶數,總和為{sum}");

但是continue不會跳出迴圈,會視為這次迴圈結束
該判條件的判條件,有迭代部分的判迭代部分


這兩者都只對當前的迴圈有用。如果是巢狀迴圈,只會跳出一個

for (int i = 0; i < 6; i++)
{
	for (int j = 0; j <
5; j++) { if (i > 3 && j > 1) break; Console.WriteLine($"i的值是{i},j的值是{j}"); } Console.WriteLine(); }

如果想直接跳好幾層迴圈,可以用變數把bool存起來。

bool b = false;
for (int i = 0; i < 6 ; i++)
{
	for (int j = 0; j < 5; j++)
	{
		if (i > 3 && j > 1) { b = true; break; }
Console.WriteLine($"i的值是{i},j的值是{j}"); } if(b) break; Console.WriteLine(); }

或者用goto跳轉


if (new Random().Next(3) > 1) goto a;
Console.WriteLine("這行程式碼可能不會執行!");
a:
Console.WriteLine("跳到這裡繼續執行!");

a是自定義的標籤,像變數一樣可以隨便寫名字。
goto a;是跳轉到標籤a後面的語句

標籤後面一定要跟隨語句。標籤後面有一個冒號
標籤像變數一樣有作用域
在這裡插入圖片描述