跳至頁尾內容
.NET 幫助

C# 繼續(開發者如何操作)

控制流程語句在程式設計中至關重要,因為它們決定了程式中指令的執行順序。 在 C# 中,控制迴圈的三個基本語句是" continue "、" break "和" goto "。 這些語句使程式設計師能夠改變循環內的執行流程,從而提高程式碼效率和可讀性。 在本文中,我們將深入探討 C# 中continuebreak方法的複雜性,探索它們的語法、應用和最佳實踐。 本文稍後也將介紹 IronPDF—— Iron Software出品的一款功能強大的 C# PDF 庫,用於讀取和寫入 PDF 文件。

理解"繼續"語句

continue語句用於循環結構中,用於跳過剩餘的程式碼區塊並繼續執行循環的下一個迭代。它本質上是告訴程式控制器跳過當前迭代的剩餘程式碼,直接進入下一個迭代。

句法

continue;
continue;
$vbLabelText   $csharpLabel

例子

public class Program
{
    public static void Main()
    {
        Console.WriteLine("Demonstrate Continue Method in C#");
        Console.WriteLine("Print 1 to 10 skipping 5");

        for (int i = 0; i < 10; i++)
        {
            if (i == 5)
            {
                continue; // Skips iteration when i equals 5
            }
            Console.WriteLine(i);
        }
    }
}
public class Program
{
    public static void Main()
    {
        Console.WriteLine("Demonstrate Continue Method in C#");
        Console.WriteLine("Print 1 to 10 skipping 5");

        for (int i = 0; i < 10; i++)
        {
            if (i == 5)
            {
                continue; // Skips iteration when i equals 5
            }
            Console.WriteLine(i);
        }
    }
}
$vbLabelText   $csharpLabel

在這個例子中,當i等於 5 時,執行continue語句,跳過該次迭代中循環內的剩餘程式碼。 因此,數字 5 將不會被印出來,循環繼續進行下一次迭代。

輸出

C# 繼續語句(開發者如何理解):圖 1 - 控制台輸出顯示由於 continue 語句,跳過了 case 5。

探索"中斷"方法

continue 語句相反, break語句用於提前退出迴圈。 遇到此錯誤時,無論循環條件如何,都會終止循環的執行。 它通常用於在滿足特定條件時提前退出循環,例如 while 循環。

例子

int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach (int number in numbers)
{
    if (number == 6)
    {
        break; // Exits loop when number equals 6
    }
    Console.WriteLine(number);
}
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach (int number in numbers)
{
    if (number == 6)
    {
        break; // Exits loop when number equals 6
    }
    Console.WriteLine(number);
}
$vbLabelText   $csharpLabel

在這個例子中,循環遍歷numbers數組。 當遇到數字 6 時,執行break語句,導致迴圈提前終止。 因此,只會印出數字 1 到 5。

探索" goto ;"語句

C# 中的goto語句允許將控制權轉移到相同方法、相同 switch 語句或同一迴圈中的指定標籤。雖然goto可以作為改變執行流程、跳到特定語句的強大工具,但由於它可能降低程式碼的可讀性和可維護性,因此在現代程式設計實踐中通常不建議使用。 然而,在某些情況下, goto可以有效且安全地使用。

句法

C# 中goto語句的語法非常簡單:

goto label;
goto label;
$vbLabelText   $csharpLabel

標籤是一個標識符,後面跟著一個冒號(:),表示代碼中的目標位置。

例子

設想這樣一種場景:當滿足特定條件時,您希望提前退出嵌套循環。 您可以使用 goto 語句來實現這一點:

for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 5; j++)
    {
        if (i * j > 10)
        {
            goto exitLoop;
        }
        Console.WriteLine($"i: {i}, j: {j}");
    }
}
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.");
for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 5; j++)
    {
        if (i * j > 10)
        {
            goto exitLoop;
        }
        Console.WriteLine($"i: {i}, j: {j}");
    }
}
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.");
$vbLabelText   $csharpLabel

在這個例子中,當滿足條件i * j &gt; 10時, goto語句會將控制權轉移到exitLoop標籤,從而有效地跳出巢狀迴圈。

隆重推出 IronPDF—— Iron Software出品的綜合 PDF 庫

IronPDF由 Iron Software 開發,是一個功能強大的C# PDF 庫,為在 .NET 專案中處理 PDF 提供了一體化解決方案。 無論您需要建立、編輯、匯出、保護、載入或操作 PDF 文檔,IronPDF 都能滿足您的需求。 以下是一些主要特性和應用案例:

  1. HTML 轉 PDF 轉換:將 HTML 內容無縫轉換為 PDF 格式。 您可以從 HTML、MVC、ASPX 甚至圖像生成 PDF。 2.簽名、編輯和閱讀 PDF: IronPDF 擁有50 多項功能,可讓您簽名、編輯和提取 PDF 文件的內容。 無論您是新增數位簽名還是修改現有 PDF 文件,IronPDF 都能讓一切變得簡單。 3.跨平台支援: IronPDF 專為 C#、F# 和 VB.NET 設計,可在各種 .NET 版本上運行,包括 .NET Core、.NET Standard 和 .NET Framework。 它也支援 Java、Node.js 和 Python。 4.相容性與環境:
    • .NET 版本:支援 C#、VB.NET 和 F#。 *專案類型:*適用於 Web(Blazor 和 WebForms)、桌面(WPF 和 MAUI)和控制台應用程式。 應用環境:**相容於 Windows、Linux、Mac、Docker、Azure、AWS 等。
    • IDE:與 Microsoft Visual Studio 和 JetBrains Rider 無縫整合。 *作業系統和處理器:可在 Windows、Mac 和 Linux(x64、x86、ARM)上運作。
  2. PDF 標準與編輯:
    • 支援各種 PDF 版本(1.2 - 1.7)、PDF/UA 和 PDF/A。
    • 設定 PDF 檔案的屬性、安全性和壓縮方式。
    • 編輯元資料、修訂歷史和文件結構。
    • 應用頁面範本、頁首、頁尾和頁面設定。 6.性能優化:
    • 全面支援多執行緒和非同步操作,可高效產生 PDF 檔案。
    • 優先考慮準確性、易用性和速度。

既然我們已經了解了 IronPDF 庫,讓我們編寫一個應用程式來使用 IronPDF 以及continue語句、 break語句和goto語句。

使用"繼續"語句產生 PDF 文檔

首先,我們建立一個 Visual Studio 控制台應用程式。

C# 繼續(開發人員的操作方法):圖 2 - 建立 Visual Studio 控制台應用程式

請提供項目名稱和地點。

C# 繼續(開發人員的操作方法):圖 3 - 提供專案名稱

下一步,選擇所需的 .NET 版本,然後按一下"建立"。

現在使用以下指令安裝 IronPDF。

dotnet add package IronPdf --version 2024.4.2

現在讓我們使用控制語句產生一個PDF文件。

using System;
using System.Threading.Tasks;
using IronPdf;

class Program
{
    public static async Task Main()
    {
        Console.WriteLine("Generate PDF document Using IronPDF");

        // Initialize a ChromePdfRenderer to render HTML content to PDF
        var htmlToPdf = new ChromePdfRenderer();
        var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";

        // Use continue statement to build HTML content
        for (int i = 0; i < 10; i++)
        {
            if (i == 5)
            {
                continue; // Skip appending number 5 to the content
            }
            content += $"<p>{i}</p>";
        }

        content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";

        // Use break statement to terminate loop at 7
        for (int i = 0; i < 10; i++)
        {
            if (i == 7)
            {
                break; // Stop appending numbers after 6
            }
            content += $"<p>{i}</p>";
        }

        // Render the HTML content as a PDF document
        var pdf = await htmlToPdf.RenderHtmlAsPdfAsync(content);
        pdf.SaveAs("AwesomeIronPDF.pdf");

        Console.WriteLine("PDF generated successfully.");
    }
}
using System;
using System.Threading.Tasks;
using IronPdf;

class Program
{
    public static async Task Main()
    {
        Console.WriteLine("Generate PDF document Using IronPDF");

        // Initialize a ChromePdfRenderer to render HTML content to PDF
        var htmlToPdf = new ChromePdfRenderer();
        var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";

        // Use continue statement to build HTML content
        for (int i = 0; i < 10; i++)
        {
            if (i == 5)
            {
                continue; // Skip appending number 5 to the content
            }
            content += $"<p>{i}</p>";
        }

        content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";

        // Use break statement to terminate loop at 7
        for (int i = 0; i < 10; i++)
        {
            if (i == 7)
            {
                break; // Stop appending numbers after 6
            }
            content += $"<p>{i}</p>";
        }

        // Render the HTML content as a PDF document
        var pdf = await htmlToPdf.RenderHtmlAsPdfAsync(content);
        pdf.SaveAs("AwesomeIronPDF.pdf");

        Console.WriteLine("PDF generated successfully.");
    }
}
$vbLabelText   $csharpLabel

程式碼解釋

1.初始化和定義內容:我們首先定義要包含在 PDF 中的 HTML 內容。 2.使用continue在第一個迴圈中,我們使用continue語句在產生 1 到 10 的數字時跳過數字 5。 3.使用break在第二個迴圈中,我們使用break語句在達到數字 7 時停止迴圈。 4.渲染 PDF:我們使用ChromePdfRenderer物件將 HTML 內容轉換為 PDF 檔案並儲存。

輸出

C# continue 方法(開發者如何理解):圖 4 - 範例輸出展示了 continue 和 break 方法的工作原理

最佳實踐和注意事項

1.清晰度和可讀性:在大多數情況下,使用結構化的控制流程語句(如breakcontinue或巢狀迴圈)可以使你的程式碼更易讀、更易理解。 goto語句會讓程式碼更難理解,尤其是在程式碼庫較大或過度使用時。 2.避免意外後果:誤用goto會導致程式碼混亂,難以理解程式行為。 謹慎使用goto 語句至關重要,並且要確保其用法清晰明確且有詳細的文件說明。 3.錯誤處理: goto的一個常見用途是在錯誤處理場景中,它可以跳到清理或錯誤處理程式。然而,現代 C# 程式碼庫通常使用結構化的異常處理(try-catch-finally)進行錯誤處理,這種方法更加結構化且易於閱讀。 4.性能考量:就性能而言, goto通常影響最小。 然而, goto的主要關注點在於可維護性和可讀性,而不是效能。

許可證(提供試用版)

了解 IronPDF 許可詳情

提供試用開發者許可證,取得試用許可證

請取代 appSettings.json 檔案中如下所示的 Key。

{
  "IronPdf.License.LicenseKey": "The Key Here"
}

結論

總之, continuebreak方法是 C# 中控制迴圈執行不可或缺的工具。 透過策略性地將這些語句融入你的程式碼中,你可以提高程式碼的效率、可讀性和可維護性。 雖然 C# 中的goto語句提供了改變執行流程的機制,但應謹慎使用它。 在大多數情況下,像breakcontinue或巢狀迴圈這樣的結構化控制流語句可以提供更清晰、更易於維護的解決方案。 然而,在某些特殊情況下,goto 可以有效且安全地使用,例如在某些錯誤處理情況下。 與任何程式結構一樣,在決定是否使用 goto 時,權衡利弊並考慮程式碼的可讀性和可維護性至關重要。

透過Iron SoftwareIronPDF - 綜合 PDF 解決方案庫,開發人員可以獲得開發現代應用程式的高級技能。

常見問題解答

C# 中的 'continue' 語句是如何運作的?

在 C# 中,循環中使用 `continue` 語句可以跳過目前迭代中剩餘的程式碼,直接進入下一個迭代。這對於繞過某些條件或值非常有用,例如跳過循環中的數字 5。

迴圈中「break」語句的作用是什麼?

`break` 語句用於在滿足特定條件時提前退出迴圈。這對於在特定點停止循環非常有用,例如在迭代次數達到 6 後停止循環。

在 C# 中何時應該使用 'goto' 語句?

雖然 `goto` 語句允許你跳到程式碼中指定的標記部分,但由於可能影響程式碼可讀性,通常不建議使用。它最好用於其他控制結構效率較低或不夠清晰的特定場景。

如何將 IronPDF 整合到 C# 專案中?

IronPDF 可以透過指令dotnet add package IronPdf --version [version_number]整合到 C# 專案中,從而在各種 .NET 環境中建立、編輯和轉換 PDF 檔案。

在 C# 中使用全面的 PDF 庫有哪些優點?

IronPDF 等功能全面的 PDF 庫透過提供強大的 PDF 創建、編輯和轉換功能,增強了 C# 應用程式的效能。它支援 HTML 到 PDF 的轉換,並提供跨平台支持,使其成為開發人員的得力助手。

如何利用控制流程語句改進 C# 中的 PDF 生成?

可以使用「continue」和「break」等控制流程語句來管理 PDF 產生期間循環的執行,從而允許開發人員在使用 IronPDF 時根據特定條件選擇性地添加內容或停止內容生成。

IronPDF有哪些相容性特色?

IronPDF 與各種 .NET 版本相容,包括 .NET Core、.NET Standard 和 .NET Framework。它支援多種語言,例如 C#、VB.NET 和 F#,並且可以與 Microsoft Visual Studio 和 JetBrains Rider 等 IDE 整合。

Jacob Mellor,Team Iron 首席技術官
首席技術長

Jacob Mellor 是 Iron Software 的首席技術官,也是一位富有遠見的工程師,率先開發了 C# PDF 技術。作為 Iron Software 核心程式碼庫的最初開發者,他自公司成立之初便參與塑造了其產品架構,並與執行長 Cameron Rimington 一起將其發展成為一家擁有 50 多名員工、服務於 NASA、特斯拉和全球政府機構的公司。

Jacob 於 1998 年至 2001 年在曼徹斯特大學獲得土木工程一級榮譽學士學位。 1999 年,他在倫敦創辦了自己的第一家軟體公司;2005 年,他創建了自己的第一個 .NET 元件。此後,他專注於解決微軟生態系統中的複雜問題。

他的旗艦產品 IronPDF 和 IronSuite .NET 庫在全球 NuGet 上的安裝量已超過 3000 萬次,其基礎程式碼持續為全球開發者工具提供支援。憑藉 25 年的商業經驗和 41 年的程式設計專長,Jacob 始終致力於推動企業級 C#、Java 和 Python PDF 技術的創新,同時指導下一代技術領導者。