フッターコンテンツにスキップ
.NETヘルプ

C# Continue(開発者向けの動作方法)

プログラミングにおいて制御フロー文は重要であり、プログラム内の命令の実行順序を示します。 C#では、ループを制御するための基本的な文として、'continue'、'break'、'goto'の3つがあります。 これらの文は、プログラマーにループ内の実行フローを変更する能力を提供し、コードの効率性と可読性を向上させます。 この記事では、C#のcontinueメソッドとbreakメソッドの詳細について、その構文、応用例、ベストプラクティスを探ります。 この記事の後半では、IronPDF - 強力なC# PDFライブラリを使用して、PDFドキュメントの読み書きを行う方法も学びます。

'continue;'文の理解

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# Continue (開発者向けの動作): 図1 - 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);
}
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 > 10が満たされたとき、goto文は制御をexitLoopラベルに移し、ネストされたループの外に効果的に脱出します。

IronPDF - 高度なPDFライブラリの紹介

IronPDFはIron Softwareによって開発された強力なC# PDFライブラリで、.NETプロジェクトでのPDF利用に関する総合的なソリューションを提供します。 PDFドキュメントを作成、編集、エクスポート、保護、ロード、操作する必要がある場合、IronPDFがサポートします。 ここでは、主な機能と使用例をいくつか紹介します:

  1. HTML から PDF への変換: HTML コンテンツをシームレスに PDF 形式に変換します。 HTML、MVC、ASPX、さらには画像からPDFを生成できます。
  2. 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) で実行されます。
  3. PDF 標準と編集:
    • 各種PDFバージョン(1.2 - 1.7)、PDF/UA、およびPDF/Aをサポート。
    • PDFファイルのプロパティ、セキュリティ、および圧縮を設定。
    • メタデータ、リビジョン履歴、およびドキュメント構造を編集。
    • ページテンプレート、ヘッダー、フッター、ページ設定の適用。 6.パフォーマンスの最適化:
    • 効率的なPDF生成のための完全なマルチスレッディングと非同期サポート。
    • 精度、使いやすさ、速度を優先します。

IronPDFライブラリを知った今、IronPDFとcontinue文、break文、goto文を使ってアプリケーションを作成しましょう。

Continue文を使ったPDFドキュメントの生成

まず、Visual Studioコンソールアプリケーションを作成します。

C# Continue (開発者向けの動作): 図2 - Visual Studioコンソールアプリの作成

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

C# Continue (開発者向けの動作): 図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 コンテンツを定義します。

  1. continueの使用:最初のループでは、1 から 10 までの数字を生成するときに、 continueステートメントを使用して 5 番をスキップします。
  2. breakの使用: 2 番目のループでは、 breakステートメントを使用して、数値 7 に達したらループを停止します。
  3. 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ファイルのキーを交換してください。

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

結論

結論として、continueメソッドとbreakメソッドは、C#でのループ実行を制御するために必要不可欠なツールです。 これらの文を戦略的にコードに組み込むことで、効率性、可読性、維持可能性を向上させることができます。 C#のgoto文は、実行フローの変更のためのメカニズムを提供しますが、その使用には注意を要します。 多くの場合、構造化された制御フロー文であるbreakcontinue、またはネストループの方が、より明確で維持しやすい解決策を提供します。 しかし、特定のエラーハンドリング状況など、gotoを効果的かつ安全に使用できるニッチなシナリオもあります。 どのプログラミング構造を用いるにしても、使用するかどうかを決定する際には、トレードオフを考慮し、コードの可読性と維持可能性を考慮することが重要です。

Iron SoftwareからのIronPDF - 総合的な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 Core、.NET Standard、.NET Framework など、さまざまな .NET バージョンに対応しています。C#、VB.NET、F# など複数の言語をサポートし、Microsoft Visual Studio や JetBrains Rider などの IDE と統合されます。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。

Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。

彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。