C# 中的跳躍陳述式分別為 break、continus、goto 和 return
MSDN 說明:
- break:終止它所在之最靠近的封閉式迴圈或 switch 陳述式。 程式控制權轉移到終止陳述式之後的陳述式 (如果有的話)。
- continus:將程式控制權轉移到它所在之封閉反覆運算陳述式 (Iteration Statement) 的下一個反覆運算。
- goto:
- goto 陳述式將程式控制直接轉移到標記陳述式。
- goto 的常見用法是轉移控制至特定的 switch-case 標記或 switch 陳述式中預設的標記。
- goto 陳述式對於跳出複雜的巢狀迴圈也很有用。
- return: return 陳述式終止其所在處之方法的執行,並且轉移程式控制權至呼叫的方法
static void Main(string[] args)
{
DemoReturn();
DemoBreak();
// 輸出結果
// DemoReturn 首
// DemoBreak 首
// DemoBreak 尾
}
public static void DemoReturn()
{
Console.WriteLine("DemoReturn 首");
int[] intArrary = new int[] { 0, 1, 2, 3, 4, 5, 6, 7 };
foreach (int item in intArrary)
{
// 使用 return 會回到呼叫這個 Method 的呼叫點,也就是 Main 內的 DemoReturn() 去,不會再往下執行
if (item == 5) return;
}
Console.WriteLine("DemoReturn 尾");
}
public static void DemoBreak()
{
Console.WriteLine("DemoBreak 首");
int[] intArrary = new int[] { 0, 1, 2, 3, 4, 5, 6, 7 };
foreach (int item in intArrary)
{
// 使用 Break 的話,會離開 foreach 並繼續在 DemoBreak 中往下跑到 "DemoBreak 尾"
if (item == 5) break;
}
Console.WriteLine("DemoBreak 尾");
}
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
// 迴圈跑到 5 時,跳出 for 迴圈,之後就不會繼續跑,只會顯示 0 - 4
if (i == 5) break;
Console.WriteLine(string.Format("break demo:{0}", i));
}
Console.WriteLine("=====================================");
for (int i = 0; i < 10; i++)
{
// 迴圈跑到 5 時,會回到 for 迴圈繼續跑,之後會繼續跑,只有 5 不會顯示
if (i == 5) continue;
Console.WriteLine(string.Format("continus demo:{0}", i));
}
}
沒有留言:
張貼留言