C# For Loop (開発者向けの仕組み)
この包括的なチュートリアルでは、public static void Main メソッド内で for ループを開始するために必要なすべてのことを説明します。 for ループ、ループ変数、ループ本体、繰り返し変数、内側と外側のループ、無限ループ、ブール式、ネストされたループなどを探索します。 さあ、始めましょう!
for ループの始め方
for ループは C# のループの一種で、反復する回数が正確にわかっている状況向けに特別に設計されています。 C# の for ループの構文は、以下のコード ブロックに示されています。
for (initialization; condition; increment)
{
// Loop body
}
for (initialization; condition; increment)
{
// Loop body
}
initialization
Do While condition
' Loop body
increment
Loop
for ループのコンポーネントを分解してみましょう:
1.初期化:ここで、ループ変数または反復変数が宣言され、初期化されます。 2.条件:ループでステートメントを複数回実行し続けるかどうかを決定するブール/条件式。 3.増分:このステートメントは、各反復の後に反復変数を更新します。
Static Void Main とループ変数
C# では、static void Main メソッドまたは static void Main(String []args) がアプリケーションのエントリ ポイントです。 ここからプログラムの実行が開始されます。 以下は、static void Main メソッド内で for ループを使用する方法のループ例です。
using System;
class Program
{
static void Main()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("This is the first for loop!");
}
}
}
using System;
class Program
{
static void Main()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("This is the first for loop!");
}
}
}
Imports System
Friend Class Program
Shared Sub Main()
For i As Integer = 0 To 4
Console.WriteLine("This is the first for loop!")
Next i
End Sub
End Class
この例では、ループ変数 int i が 0 に初期化され、変数として機能します。 i が 5 より小さい限り、ループは実行され続けます。 各反復の後、増分演算 i++ によって i の値が 1 増加します。
ネストされたループの探求
ネストされたループは、他のループの中に配置されたループで、内側と外側のループにイテレーターセクションがあります。 これらは、行列のような多次元データ構造を扱うとき、またはすべての要素の組み合わせに対して特定の操作を行う必要があるときに有用です。
ここに、外側のループ内に内側のループがあるネストされた for ループの C# の例があります:
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.WriteLine($"i: {i}, j: {j}");
}
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.WriteLine($"i: {i}, j: {j}");
}
}
For i As Integer = 0 To 2
For j As Integer = 0 To 1
Console.WriteLine($"i: {i}, j: {j}")
Next j
Next i
この例では、外側のループが実行され、i が 0 に等しい状態から開始されます。内側のループは、j のすべての可能な値を反復処理してから、i の次の値に進みます。
無限ループとループ制御
無限ループは、そのテスト条件が決して偽にならないために終了しないループです。 これらは危険であり、プログラムが無期限にハングする可能性があります。 while ループや foreach ループなどのループを記述するときは、終了条件が最終的に満たされるように注意してください。 以下は、C# で特定の条件が指定されていない無限ループの例です。
// This is an example of an infinite loop
for (int i = 0; ; i++)
{
Console.WriteLine("This loop will run forever!");
}
// This is an example of an infinite loop
for (int i = 0; ; i++)
{
Console.WriteLine("This loop will run forever!");
}
' This is an example of an infinite loop
Dim i As Integer = 0
Do
Console.WriteLine("This loop will run forever!")
i += 1
Loop
標準の for ループ構造に加えて、C# では、ループをより効率的に管理するのに役立つ break や continue などのループ制御ステートメントも提供されます。
break:この文はループを直ちに終了するために使用されます。break文に遭遇するとループは終了し、プログラムはループ外の次のコード行に進みます。continue:このステートメントは、現在の反復のループ本体の残りのコードをスキップし、ループの次の反復にジャンプするために使用されます。
以下は、 for ループでcontinueを使用する例です。
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // Exits the loop when i is equal to 5
}
if (i % 2 == 0)
{
continue; // Skips even numbers
}
Console.WriteLine($"Odd number: {i}");
}
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // Exits the loop when i is equal to 5
}
if (i % 2 == 0)
{
continue; // Skips even numbers
}
Console.WriteLine($"Odd number: {i}");
}
For i As Integer = 0 To 9
If i = 5 Then
Exit For ' Exits the loop when i is equal to 5
End If
If i Mod 2 = 0 Then
Continue For ' Skips even numbers
End If
Console.WriteLine($"Odd number: {i}")
Next i
この例では、i が 5 に達するとループの実行が停止します。 continue ステートメントは偶数をスキップするために使用されるため、5 未満の奇数のみが印刷されます。
ブール式とループ条件
ループ条件は、ループが実行を続けるべきかどうかを決定するブール式です。 この式は各反復の前に評価され、式が true の場合にのみループが実行されます。 多くのループでよく使用されるブール式には以下があります:
- 比較:
i < 10、i >= 10、i > 10、i == 10、i != 10 - 論理演算子:
&&(AND),||(OR),!(NOT)
論理演算子を使って複数の式を組み合わせて、より複雑なループ条件を作成できます。 例えば:
for (int i = 0; i < 10 && i != 5; i++)
{
Console.WriteLine(i);
}
for (int i = 0; i < 10 && i != 5; i++)
{
Console.WriteLine(i);
}
Dim i As Integer = 0
Do While i < 10 AndAlso i <> 5
Console.WriteLine(i)
i += 1
Loop
この例では、 10より小さく、 5と等しくない限り、ループは実行されます。
コードブロックとループ本体
コード ブロックは、中括弧 {} で囲まれたステートメントのグループです。 for ループでは、ループ宣言に続くコードブロックがループ本体として知られています。 ここに、ループの各反復で実行したいコードを配置します。
for (int i = 0; i < 5; i++)
{
// This is the loop body
Console.WriteLine($"Iteration: {i}");
}
for (int i = 0; i < 5; i++)
{
// This is the loop body
Console.WriteLine($"Iteration: {i}");
}
For i As Integer = 0 To 4
' This is the loop body
Console.WriteLine($"Iteration: {i}")
Next i
この例では、ループ本体は、現在の反復回数を出力する単一の Console.WriteLine ステートメントで構成されています。
ループ実行ステップ
コードに for ループが出現すると、以下の一連のイベントが発生します:
- ループ変数が初期化されます。
- ブール式が評価されます。 式が
falseの場合、ループはスキップされ、プログラムはループ外の次のコード行に進みます。 - 式が
trueの場合、ループ本体が実行されます。 - ループ変数が増加または更新されます。
- ブール式が
falseになるまで手順 2 ~ 4 を繰り返します。
IronPDF を使用した For ループによるレポート生成の統合
IronPDF のPDF生成機能について学び、C# で動的で強力なPDFレポートを作成します。 特に、ループ内で処理されたデータに基づいて動的なレポートやドキュメントを作成する必要がある場合、for ループで作業するときに役立つツールです。 このセクションでは、C# for ループと連携して IronPDF を使用して簡単なレポートを生成する方法を示します。
まず、IronPDF の NuGet パッケージをインストールする必要があります。 Visual Studio のパッケージマネージャーコンソールを使用してこれを行うことができます:
Install-Package IronPdf
IronPDFがインストールされたら、簡単な例を作成して、IronPDFを使用してHTMLからPDFレポートを生成し、数値とその平方のテーブルを含むforループを使用します。
ステップ 1: 必要な名前空間を追加します。
using IronPdf;
using System.IO;
using IronPdf;
using System.IO;
Imports IronPdf
Imports System.IO
ステップ 2: GenerateReport という新しいメソッドを作成します。
static void GenerateReport()
{
// Create an HTML template for the report
var htmlTemplate = @"
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<h1>Number Squares Report</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Square</th>
</tr>
</thead>
<tbody>
{0}
</tbody>
</table>
</body>
</html>";
// Generate the table rows using a for loop
string tableRows = "";
for (int i = 1; i <= 10; i++)
{
tableRows += $"<tr><td>{i}</td><td>{i * i}</td></tr>";
}
// Insert the generated table rows into the HTML template
string finalHtml = string.Format(htmlTemplate, tableRows);
// Create a new PDF document from the HTML using IronPdf
var pdf = new IronPdf.ChromePdfRenderer();
var document = pdf.RenderHtmlAsPdf(finalHtml);
// Save the PDF to a file
document.SaveAs("NumberSquaresReport.pdf");
}
static void GenerateReport()
{
// Create an HTML template for the report
var htmlTemplate = @"
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<h1>Number Squares Report</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Square</th>
</tr>
</thead>
<tbody>
{0}
</tbody>
</table>
</body>
</html>";
// Generate the table rows using a for loop
string tableRows = "";
for (int i = 1; i <= 10; i++)
{
tableRows += $"<tr><td>{i}</td><td>{i * i}</td></tr>";
}
// Insert the generated table rows into the HTML template
string finalHtml = string.Format(htmlTemplate, tableRows);
// Create a new PDF document from the HTML using IronPdf
var pdf = new IronPdf.ChromePdfRenderer();
var document = pdf.RenderHtmlAsPdf(finalHtml);
// Save the PDF to a file
document.SaveAs("NumberSquaresReport.pdf");
}
Shared Sub GenerateReport()
' Create an HTML template for the report
Dim htmlTemplate = "
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<h1>Number Squares Report</h1>
<table>
<thead>
<tr>
<th>Number</th>
<th>Square</th>
</tr>
</thead>
<tbody>
{0}
</tbody>
</table>
</body>
</html>"
' Generate the table rows using a for loop
Dim tableRows As String = ""
For i As Integer = 1 To 10
tableRows &= $"<tr><td>{i}</td><td>{i * i}</td></tr>"
Next i
' Insert the generated table rows into the HTML template
Dim finalHtml As String = String.Format(htmlTemplate, tableRows)
' Create a new PDF document from the HTML using IronPdf
Dim pdf = New IronPdf.ChromePdfRenderer()
Dim document = pdf.RenderHtmlAsPdf(finalHtml)
' Save the PDF to a file
document.SaveAs("NumberSquaresReport.pdf")
End Sub
Program.csファイルから GenerateReport メソッドを呼び出します。
GenerateReport();
GenerateReport();
GenerateReport()

この例を実行すると、"NumberSquaresReport.pdf" という名前のPDFレポートがアプリケーションの出力ディレクトリに生成されます。 レポートには、1から10までの数とそれらの平方を含むテーブルが含まれ、C# for ループを使用して生成されます。
結論
結論として、この包括的なチュートリアルは、C# for ループとそれに関連する概念のしっかりした基礎を提供しました。ループ変数、ループ本体、繰り返し変数、内側と外側のループ、無限ループ、ブール式、コードブロック、ネストされたループを探求し、for ループを使用して動的なPDFレポートを生成するための強力な IronPDF ライブラリの統合方法も示しました。
IronPDF は、その機能をテストするための IronPDF の無料トライアル を提供しており、これが役立つと感じた場合、ライセンスはあなたのニーズに合った手頃なオプションから始まります。
よくある質問
C#のforループはどのように機能しますか?
C#のforループは、指定した回数コードのブロックを繰り返し実行するために使用されます。それは、ループの実行を制御する初期化、条件、およびインクリメントという3つの主要部分で構成されています。
'static void Main'メソッドのC#での役割は何ですか?
'static void Main'メソッドは、C#アプリケーションのエントリーポイントとして機能します。プログラムが実行を開始する場所であり、さまざまなタスクを実行するためにforループのような初期コードを含むことがよくあります。
C#でforループを使用してPDFレポートを生成するにはどうすればよいですか?
IronPDFのようなライブラリを使用して、C#でPDFレポートを生成することができます。forループはデータを処理し、テーブルやレポートにフォーマットするために利用でき、これはIronPDFを使用してPDFドキュメントとしてレンダリングできます。
ネストされたループとは何ですか、そしてそれらはC#でどのように機能しますか?
C#でのネストされたループは、他のループの内部に配置されたループです。これらは、多次元データ構造を扱うのに特に便利で、要素の組み合わせに対して操作を実行することができます。
C#で無限ループを防ぐにはどうすればよいですか?
無限ループを防ぐには、ループの条件が最終的に偽になることを確実にします。特定の条件が満たされたときにループを終了するために、'break'のようなループ制御ステートメントを利用してください。
C#のループで使用される'break'と'continue'ステートメントは何に使われますか?
C#において、'break'ステートメントはループを直ちに抜けるために使用され、'continue'ステートメントは現在の反復をスキップし、次の反復を続行します。
forループ内でのブール式はどのように機能しますか?
forループ内のブール式は、ループが実行を続けるべきかどうかを決定します。これらは各反復の前に評価され、ループを続行するためにはtrueを返す必要があります。
forループと併用するためにC#ライブラリをインストールするにはどうすればよいですか?
適切なインストールコマンドを使用してVisual Studioのパッケージマネージャーコンソールを介してC#ライブラリをインストールすることができ、それによりforループ内でその機能を活用することが可能になります。




