
C# Continue(開発者向けの動作方法)
プログラミングにおいて制御フロー文は重要であり、プログラム内の命令の実行順序を示します。 C#では、ループを制御するための基本的な文として、'continue'、'break'、'goto'の3つがあります。 これらの文は、プログラマーにループ内の実行フローを変更する能力を提供し、コードの効率性と可読性を向上させます。 この記事では、C#のcontinueメソッドとbreakメソッドの詳細について、その構文、応用例、ベストプラクティスを探ります。 この記事の後半では、IronPDF - 強力なC# PDFライブラリを使用して、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 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 Shared Sub Main()
Console.WriteLine("Demonstrate Continue Method in C#")
Console.WriteLine("Print 1 to 10 skipping 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は印刷されず、ループは次の反復に移ります。
出力

"break;"メソッドの探求
continueとは対照的に、break文はループを早期に終了させるために使用されます。 これに遭遇すると、ループの条件に関係なくループの実行を終了します。 特定の条件が満たされれば、早期にループから抜け出すのに一般的に使用されます。
例
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この例では、ループが numbers 配列を反復処理します。 数字6に遭遇すると、break文が実行され、ループが早期に終了されます。 その結果、数字1から5のみが印刷されます。
"goto;"文の探求
C#の goto 文は、同じメソッド内、同じスイッチ文内、または同じループ内の指定されたラベルに制御を転送する方法を提供します。goto はジャンプ文への実行フローを変更する強力なツールとなることがありますが、コードの読みやすさや保守性を損なう可能性があるため、現代のプログラミングではしばしば推奨されません。 しかし、goto を効果的かつ安全に使用できる状況があります。
構文
C#におけるgoto文の構文は簡潔です:
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 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 - 高度なPDFライブラリの紹介
IronPDFはIron Softwareによって開発された強力なC# PDFライブラリで、.NETプロジェクトでのPDF利用に関する総合的なソリューションを提供します。 PDFドキュメントを作成、編集、エクスポート、保護、ロード、操作する必要がある場合、IronPDFがサポートします。 ここでは、主な機能と使用例をいくつか紹介します:
- HTML から PDF への変換: HTML コンテンツをシームレスに PDF 形式に変換します。 HTML、MVC、ASPX、さらには画像からPDFを生成できます。
- PDF の署名、編集、読み取り: 50 を超える機能を備えたIronPDF を使用すると、PDF ファイルに署名したり、編集したり、PDF ファイルを抽出したりできます。 デジタル署名を追加したり、既存のPDFを変更したりする際にもIronPDFにより簡単に行えます。
3.クロスプラットフォーム サポート: IronPDFは C#、F#、VB .NET用に設計されており、 .NET Core、 .NET Standard、 .NET Frameworkなどのさまざまな.NETバージョンで実行されます。 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 とシームレスに統合します。
- OS とプロセッサ: Windows、Mac、Linux (x64、x86、ARM) で実行されます。
- PDF 標準と編集:
- 各種PDFバージョン(1.2 - 1.7)、PDF/UA、およびPDF/Aをサポート。
- PDFファイルのプロパティ、セキュリティ、および圧縮を設定。
- メタデータ、リビジョン履歴、およびドキュメント構造を編集。
- ページテンプレート、ヘッダー、フッター、ページ設定の適用。 6.パフォーマンスの最適化:
- 効率的なPDF生成のための完全なマルチスレッディングと非同期サポート。
- 精度、使いやすさ、速度を優先します。
IronPDFライブラリを知った今、IronPDFとcontinue文、break文、goto文を使ってアプリケーションを作成しましょう。
Continue文を使ったPDFドキュメントの生成
まず、Visual Studioコンソールアプリケーションを作成します。

プロジェクト名と場所を指定します。

次のステップとして、必要な.NETバージョンを選択し、[作成]をクリックします。
次に、以下のコマンドを使用してIronPDFをインストールします。
さて、制御文を使用して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.");
}
}Imports System
Imports System.Threading.Tasks
Imports IronPdf
Friend Class Program
Public Shared Async Function Main() As Task
Console.WriteLine("Generate PDF document Using IronPDF")
' Initialize a ChromePdfRenderer to render HTML content to PDF
Dim htmlToPdf = New ChromePdfRenderer()
Dim content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>"
' Use continue statement to build HTML content
For i As Integer = 0 To 9
If i = 5 Then
Continue For ' Skip appending number 5 to the content
End If
content &= $"<p>{i}</p>"
Next i
content &= "<h1>Generate Numbers from 1 to 10, stop at 7</h1>"
' Use break statement to terminate loop at 7
For i As Integer = 0 To 9
If i = 7 Then
Exit For ' Stop appending numbers after 6
End If
content &= $"<p>{i}</p>"
Next i
' Render the HTML content as a PDF document
Dim pdf = Await htmlToPdf.RenderHtmlAsPdfAsync(content)
pdf.SaveAs("AwesomeIronPDF.pdf")
Console.WriteLine("PDF generated successfully.")
End Function
End Classコードの説明
1.コンテンツの初期化と定義:まず、PDF に含める HTML コンテンツを定義します。
2. continue の使用: 最初のループでは、1から10までの数字を生成する際に5をスキップするためにcontinue文を使用します。
3. break の使用: 2番目のループでは、数字の7に達した時点でループを停止するためにbreak文を使用します。
4. PDFのレンダリング: HTMLコンテンツをPDFファイルに変換し保存するためにChromePdfRendererオブジェクトを使用します。
出力

ベストプラクティスと考慮事項
1.**明瞭性と可読性:**ほとんどの場合、 break 、 continue 、ネストされたループなどの構造化された制御フロー ステートメントを使用すると、コードの読みやすさと理解しやすさが向上します。 goto文は、特に大規模なコードベースや多用した場合に、コードの追跡を困難にすることがあります。 2.意図しない結果の回避: goto を誤って使用すると、スパゲッティ コードが発生し、プログラムの動作の推論が困難になる可能性があります。 特に重要なのは、gotoを賢明に使用し、その使用が明確で文書化されていることを確認することです。 3.エラー処理: gotoの一般的な使用例の一つはエラー処理のシナリオで、クリーンアップルーチンやエラー処理ルーチンにジャンプするために使用できます。しかし、最近の C# コードベースでは、エラー処理に構造化例外処理(try-catch-finally)が使用されることが多く、より構造化され読みやすいアプローチが提供されています。 4.**パフォーマンスに関する考慮事項:**パフォーマンスの点では、 goto の影響は通常最小限です。 しかし、gotoでの主な考慮事項は、パフォーマンスというよりも、維持可能性と可読性です。
ライセンス (トライアル利用可能)
試用開発者トライアルライセンスが利用可能です。試用ライセンスを取得する。
以下に示すように、appSettings.jsonファイルのキーを交換してください。
{
"IronPdf.License.LicenseKey": "The Key Here"
}
結論
結論として、continueメソッドとbreakメソッドは、C#でのループ実行を制御するために必要不可欠なツールです。 これらの文を戦略的にコードに組み込むことで、効率性、可読性、維持可能性を向上させることができます。 C#のgoto文は、実行フローの変更のためのメカニズムを提供しますが、その使用には注意を要します。 多くの場合、構造化された制御フロー文であるbreak、continue、またはネストループの方が、より明確で維持しやすい解決策を提供します。 しかし、特定のエラーハンドリング状況など、gotoを効果的かつ安全に使用できるニッチなシナリオもあります。 どのプログラミング構造を用いるにしても、使用するかどうかを決定する際には、トレードオフを考慮し、コードの可読性と維持可能性を考慮することが重要です。
Iron SoftwareからのIronPDF - 総合的なPDFソリューションライブラリーと共に、開発者は現代的なアプリケーションの開発において高度なスキルを身につけることができます。

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。
関連する記事


