C# 快速導覽 - goto 陳述

關鍵字 (keyword) goto 將程式執行轉移到標記的地方。



例如下例設計一個自動販賣機的程式,基本消費為 25 元,增量一次增加 10 元
class Demo {
    static void Main() {
        int n = 2;
        int cost = 0;
    
        switch (n) {
            case 1:
                cost += 25;
                break;

            case 2:
                cost += 10;
                goto case 1;

            case 3:
                cost += 10;
                goto case 1;

            default:
                System.Console.WriteLine("Are you sure?");
                break;
        }

        System.Console.WriteLine("Please insert NT${0}.", cost);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:gotodemo1.cs
    功能:示範 C# 程式 
    作者:張凱慶
    時間:西元 2013 年 6 月 */


編譯執行,結果如下



下例示範跳出迴圈 (loop)
class Demo {
    static void Main() {
        int i = 0;
        
        while (i < 10) {
            if (i == 5) {
                goto Test;
            }
            
            if (i == 2) {
                goto Hello;
            }
            
            if (i == 8) {
                goto Spoon;
            }
            
            i++;
        }
        
        
        Test:
            System.Console.WriteLine("The loop is breaked by goto.");
            goto End;
        
        Hello:
            System.Console.WriteLine("Hello world!");
            goto End;
        
        Spoon:
            System.Console.WriteLine("There is no spoon.");  
            goto End; 
        
        End:
           System.Console.WriteLine("The end.");      
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:gotodemo2.cs
    功能:示範 C# 程式 
    作者:張凱慶
    時間:西元 2013 年 6 月 */


編譯執行,結果如下



中英文術語對照
關鍵字keyword
迴圈loop


您可以繼續參考
控制結構


相關目錄
回 C# 快速導覽
回 C# 教材
回首頁


參考資料
Standard ECMA-334 C# Language Specification
msdn: goto (C# 參考)

沒有留言: