在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
控制流程語句在程式設計中非常重要,因為它們決定了程式中指令的執行順序。在 C# 中,控制迴圈的三個基本語句是 'continue'、'break' 和 'goto'。這些語句為程式設計師提供了改變迴圈內執行流程的能力,提高了程式碼的效率和可讀性。在本文中,我們將深入探討 C# 中 continue 和 break 方法的複雜性,探索它們的語法、應用和最佳實踐。稍後在文章中,我們還將學習 IronPDF 從 Iron Software 讀取和寫入 PDF 文件。
continue 語句用於循環結構中,以跳過剩餘的代碼塊並進入循環的下一次迭代。這基本上告訴程式控制跳過當前迭代的剩餘代碼並進入下一次迭代。
continue;
continue;
continue
public class Program
{
public static void Main()
{
Console.WriteLine("Demonstrate Continue Method in C#");
Console.WriteLine("Print 1 to 10 skip 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 skip 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 Shared Sub Main()
Console.WriteLine("Demonstrate Continue Method in C#")
Console.WriteLine("Print 1 to 10 skip 5")
For i As Integer = 0 To 9
If i = 5 Then
Continue For ' Skips iteration when i equals 5
End If
Console.WriteLine(i)
Next i
End Sub
End Class
在此範例中,當 i 等於5時,執行 continue 語句,其將跳過該迴圈迭代中的其餘程式碼。因此,數字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);
}
Dim numbers() As Integer = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
For Each number As Integer In numbers
If number = 6 Then
Exit For ' Exits loop when number equals 6
End If
Console.WriteLine(number)
Next number
在此範例中,迴圈會遍歷數字陣列。當遇到數字6時,執行break語句,導致迴圈提前終止。因此,只有數字1到5會被列印。
goto 語句在 C# 中提供了一種方式,可以將控制轉移到同一方法、同一 switch 語句或同一迴圈內的指定標籤。雖然 goto 可以是一個強大的工具,用於改變執行流程以跳轉語句,但它在現代程式設計中經常被不推薦,因為它可能使代碼變得不那麼可讀和難以維護。然而,在某些情況下,goto 可以被有效且安全地使用。
goto 語句在 C# 中的語法很簡單:
goto label;
goto label;
GoTo label
標籤為標識符後跟冒號 (:)在程式碼中指示目標位置。
考慮一個情況,你希望在特定條件滿足時,提早退出嵌套迴圈。你可以使用 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.");
For i As Integer = 0 To 4
For j As Integer = 0 To 4
If i * j > 10 Then
GoTo exitLoop
End If
Console.WriteLine($"i: {i}, j: {j}")
Next j
Next i
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.")
在此範例中,當條件 i * j > 10 滿足時,goto 語句將控制權轉移到 exitLoop 標籤,有效地跳出嵌套迴圈。
IronPDF由 Iron Software 開發,是一個強大的C# PDF 庫,提供在 .NET 專案中處理 PDF 文件的全方位解決方案。無論你需要建立、編輯、匯出、安全性設定、載入或操作 PDF 文件,IronPDF 都能滿足你的需求。以下是一些主要功能和使用案例:
HTML 轉換為 PDF:無縫地將 HTML 內容轉換為 PDF 格式。你可以從 HTML、MVC、ASPX 甚至圖像生成 PDF。
簽署、編輯和閱讀 PDF:擁有超過50項功能,IronPDF 使你能夠簽署、編輯和提取 PDF 文件中的內容。無論是添加數位簽名還是修改現有 PDF,IronPDF 都使這一過程變得簡單。
跨平臺支持:IronPDF 專為 C#、F# 和 VB.NET 設計,且運行於各種 .NET 版本,包括 .NET Core、.NET Standard 和 .NET Framework。它也適用於 Java、Node.js 和 Python。
相容性和環境:
PDF 標準和編輯:
現在我們了解了IronPDF庫,讓我們編寫一個應用程式來使用IronPDF和continue語句、break語句以及goto語句。
首先,讓我們創建一個 Visual Studio 控制台應用程式
請提供專案名稱和位置。
下一步,選擇所需的 .NET 版本並點擊「Create」。
現在使用以下命令安裝 IronPDF。
dotnet add package IronPdf --version 2024.4.2
dotnet add package IronPdf --version 2024.4.2
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf --version 2024.4.2
現在讓我們使用控制語句生成一個PDF文檔。
using System;
using System.Threading.Tasks;
using System.Diagnostics;
using IronPdf;
class Program
{
public static async Task Main()
{
Console.WriteLine("Generate PDF document Using IronPDF");
var htmlToPdf = new ChromePdfRenderer();
var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
content += $"<p>{i}</p>";
}
content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 7)
{
break;
}
content += $"<p>{i}</p>";
}
var pdf = htmlToPdf.RenderHtmlAsPdf(content);
pdf.SaveAs("AwesomeIronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
using System;
using System.Threading.Tasks;
using System.Diagnostics;
using IronPdf;
class Program
{
public static async Task Main()
{
Console.WriteLine("Generate PDF document Using IronPDF");
var htmlToPdf = new ChromePdfRenderer();
var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
content += $"<p>{i}</p>";
}
content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";
for (int i = 0; i < 10; i++)
{
if (i == 7)
{
break;
}
content += $"<p>{i}</p>";
}
var pdf = htmlToPdf.RenderHtmlAsPdf(content);
pdf.SaveAs("AwesomeIronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
Imports System
Imports System.Threading.Tasks
Imports System.Diagnostics
Imports IronPdf
Friend Class Program
Public Shared Async Function Main() As Task
Console.WriteLine("Generate PDF document Using IronPDF")
Dim htmlToPdf = New ChromePdfRenderer()
Dim content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>"
For i As Integer = 0 To 9
If i = 5 Then
Continue For
End If
content &= $"<p>{i}</p>"
Next i
content &= "<h1>Generate Numbers from 1 to 10, stop at 7</h1>"
For i As Integer = 0 To 9
If i = 7 Then
Exit For
End If
content &= $"<p>{i}</p>"
Next i
Dim pdf = htmlToPdf.RenderHtmlAsPdf(content)
pdf.SaveAs("AwesomeIronPDF.pdf")
Console.WriteLine("PDF generated successfully.")
End Function
End Class
最初,我們正在創建將在 PDF 文件中使用的內容。
我們將內容準備為 HTML 文件。
我們在 for 迴圈中使用 continue 語句來列印從 1 到 10 並跳過 5。
此外,我們使用 break 語句來列印從 1 到 7 並中斷。
清晰性和可讀性: 在大多數情況下,使用結構化的控制流程語句,如 break、continue 或巢狀迴圈,能使你的代碼更具可讀性和可理解性。goto 語句可能會使代碼變得難以跟蹤,尤其對於較大的代碼庫或過度使用時。
避免無意的後果: 不當使用 goto 會導致意大利麵條代碼,使得推理程式行為變得困難。因此,謹慎使用 goto 並確保其使用清晰且有良好的文檔記錄是至關重要的。
錯誤處理: goto 的一個常見使用情況是在錯誤處理場景中,當它可以用來跳轉到清理或錯誤處理程序。然而,現代 C# 代碼庫通常使用結構化的異常處理。 (try-catch-finally) 錯誤處理,提供了更結構化和可讀的方法。
IronPDF試用開發者試用許可證可用。 這裡請在以下顯示的 appSettings.json 文件中替換 Key。
{
"IronPdf.License.LicenseKey" : "The Key Here"
}
{
"IronPdf.License.LicenseKey" : "The Key Here"
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
總而言之,continue 和 break 方法是控制 C# 中循環執行不可或缺的工具。通過策略性地將這些語句融入到您的代碼中,您可以提升其效率、可讀性和可維護性。雖然 C# 中的 goto 語句提供了一種改變執行流程的機制,但其使用應該謹慎。在大多數情況下,結構化的流程控制語句如 break、continue 或嵌套循環提供了更清晰且更易維護的解決方案。然而,在某些特定錯誤處理情境下,goto 可以被有效且安全地使用。與任何編程構造一樣,權衡優劣並考慮代碼的可讀性和可維護性是決定是否使用 goto 時至關重要的。 IronPDF 圖書館由 Iron Software 為了讀取和生成 PDF 文件,開發人員可以獲得開發現代應用程序的高級技能。