C# 中的 Goto 語句

WBOY
發布: 2024-09-03 15:10:28
原創
300 人瀏覽過

C#中的Goto語句,也稱為Jump語句,將程式流程直接轉移到標記語句。這些語句將程式的控制權轉移到其他部分。 Goto 語句最常見的應用之一是將程式的控制權移到 switch 語句中的特定點。在深度巢狀迴圈的情況下,goto 語句是跳出迴圈的絕佳函數。巢狀迴圈繼續進行,程式一直等到迴圈結束,但如果中途條件滿足,我們可以實作goto語句,快速跳出循環,節省時間。

文法:

以下是 goto 語句的標準語法:

goto statement_name;
登入後複製

語法從聲明 goto 關鍵字開始,然後使用語句名稱。當程式中每當要執行這一行時,程式就會跳到程式的statement_name部分。當任何程序,無論何時何地,偶然發現上述 goto 語法時,它都會執行 goto 語句並跳到所提到的 statements_name,這就是控制權的轉移方式。

Goto 語句流程圖

現在讓我們來了解流程圖中 goto 語句的工作原理。

C# 中的 Goto 語句

參考上面的流程圖,我們可以了解一個有goto語句的程式的程式碼流程。我們有多個語句 1,2 和 3,隨著程式碼繼續前進,它在第三個語句中遇到 goto 語句。從第三條語句開始,程式碼將跳到 goto 語句指向的位置。在我們的範例中,我們的 goto 語句引用語句 1。這意味著當程式碼偶然發現 goto 語句時,它將檢查條件,並根據條件的結果,程式碼將繼續前進,這意味著它會結束程序,或執行goto語句,程式碼會跳轉。

Goto 語句在 C# 中如何運作?

Goto 語句是跳轉語句。它可以在任何程序中以提供快速退出的方式工作。它的工作原理是,將程式的控制權轉移到任何給定時間的任何特定點是C#中Goto語句的主要目的。

範例#1

現在我們已經了解了 Goto 語句的工作原理,讓我們用正確的程式碼來示範 Goto 語句的工作原理。

代碼:

using System;
public class sampleGoto
{
public static void Main(string[] args)
{
eligibility:
Console.WriteLine("You are not an adult yet!");
Console.WriteLine("Enter your age:\n");
int age = Convert.ToInt32(Console.ReadLine());
if (age < 18) {
goto eligibility;
}
else
{
Console.WriteLine("You are an adult!");
Console.Read();
}
}
}
登入後複製

程式碼解釋:我們使用命名空間文件,然後從主類別開始我們的課程。然後我們有我們的轉到關鍵字“資格”,它有一個列印聲明“你還不是成年人!”。列印該語句後,程式將繼續執行下一行。這裡「輸入您的年齡:」是將要列印的語句,我們必須輸入一個值。輸入值後,程式將輸入 if 語句並檢查條件。一旦條件滿足,程式碼將繼續執行下一條語句,其中包括如果有人輸入 18 以外的值時的 goto 語句。

當我們的程式觸及 goto 語句時,它將跳到提到的部分,即資格,並從該點繼續前進。程式將顯示訊息「你是成年人了!」如果使用者符合條件。意味著計劃已經結束。請參閱下面所附的螢幕截圖以獲取輸出。

C# 中的 Goto 語句

如圖所示,當我們傳遞一個小於18的值時,它會印出第一個語句,然後當我們輸入一個大於18的值時,程式會印出else語句。現在我們已經示範了一個帶有 Goto 語句的簡單程序,讓我們嘗試另一個範例來執行相同的操作。

範例#2

代碼:

using System;
public class sampleGoto
{
public static void Main(string[] args)
{
result:
Console.WriteLine("Sorry! you did not pass the test.");
Console.WriteLine("Please submit your Passing Percentage:\n");
int age = Convert.ToInt32(Console.ReadLine());
if (age < 40)
{
goto result;
}
else
{
Console.WriteLine("Congrats! You have passed the Test");
Console.Read();
}
}
}
登入後複製

程式碼解釋:與第一個程式類似,我們示範了Goto語句的工作原理。一個簡單的條件可以輕鬆檢查輸入值是否高於 40。執行後,程式將列印第一行「Sorry!你沒有通過測試。」然後程式會要求使用者輸入一個數值。輸入值後,程式將進入 IF ELSE 迴圈來檢查輸入的值是否小於或大於 40。如果輸入的值小於40,程式將執行goto語句並跳到標記語句。如果輸入的值大於40,則程式將繼續並進入else部分。在其他部分,它將列印“Congrats!您已通過測試”並結束。

請參閱下方所附的螢幕截圖以取得正確的輸出。

C# 中的 Goto 語句

是否應該實現GOTO:建議不要實現或使用goto語句,因為程式邏輯會更加複雜。而且,一旦程式遇到 goto 語句,追蹤程式碼流程就不容易了。相反,如果您認為使用 Goto 將使程式流程更加流暢,那麼您可以隨意使用它。 Goto 很少使用。

結論

我們已經了解C#中的Goto語句是什麼了。我們已經大致了解了 Goto 語句的工作原理和語法。後來,我們透過一個例子示範了 Goto 語句的工作原理。我們透過兩個具有不同場景的範例實現了 Goto 語句。不建議在長程式中廣泛使用 Goto 語句,因為它會使程式的結構變得複雜,並使直接除錯變得更加困難。

以上是C# 中的 Goto 語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板