C# For 루프 (개발자를 위한 작동 방식)
이 포괄적인 튜토리얼에서는 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 루프의 구성 요소를 분해해봅시다:
- 초기화: 여기서 루프 변수 또는 반복 변수를 선언하고 초기화합니다.
- 조건: 루프가 여러 번 문을 계속 실행할지 여부를 결정하는 부울/조건 표현식입니다.
- 증가: 이 문은 각 반복 후 반복 변수를 업데이트합니다.
정적 보이드 메인 및 루프 변수
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만큼 증가시킵니다.
중첩 루프 탐색
중첩 루프는 다른 루프 안에 배치된 루프로, 내부 루프와 반복기 섹션을 포함하는 외부 루프 형성을 합니다. 이들은 행렬과 같은 다차원 데이터 구조를 다룰 때나 모든 요소 조합에 특정 작업을 수행해야 할 때 유용할 수 있습니다.
다음은 외부 루프 내부에 내부 루프가 있는 C#의 중첩된 for 루프 예제입니다:
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과 같을 때 실행되고 시작합니다. 그러면 내부 루프는 i의 다음 값으로 이동하기 전에 j의 가능한 모든 값을 반복합니다.
무한 루프 및 루프 제어
무한 루프는 테스트 조건이 절대 거짓으로 변하지 않기 때문에 절대 끝나지 않는 루프입니다. 이러한 루프는 프로그램이 무기한으로 멈출 수 있어 위험할 수 있습니다. 종료 조건이 최종적으로 충족되도록 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: 이 문은 현재 반복의 루프 본문의 남은 코드를 건너뛰고 루프의 다음 반복으로 점프하는 데 사용됩니다.
break와 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보다 작은 홀수만 출력됩니다.
Boolean Expressions와 Loop Conditions
루프 조건은 루프가 계속 실행되어야 하는지를 결정하는 boolean 표현식입니다. 이 표현식은 각 반복 전에 평가되며, 표현식이 true일 때만 루프가 실행됩니다. 많은 루프에서 일반적으로 사용되는 boolean 표현식은 다음과 같습니다:
- 비교:
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
이 예제에서, 루프는 i이 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 루프가 만나면, 다음과 같은 일련의 이벤트가 발생합니다:
- 루프 변수가 초기화됩니다.
- boolean 표현식이 평가됩니다. 표현식이
false인 경우, 루프가 생략되고 프로그램은 루프 외부 코드의 다음 줄로 계속 진행됩니다. - 표현식이
true인 경우, 루프 본문이 실행됩니다. - 루프 변수가 증가하거나 업데이트됩니다.
- 부울 표현식이
false가 될 때까지 2-4단계를 반복합니다.
For 루프를 사용하여 보고서를 생성하기 위한 IronPDF 통합
IronPDF의 PDF 생성 기능을 배워 동적이고 견고한 PDF 보고서를 C#에서 생성하세요. 이는 for 루프를 사용할 때 특히 유용합니다. 루프에서 처리된 데이터 기반으로 동적 보고서나 문서를 생성해야 하는 경우가 많기 때문입니다. 이 섹션에서는 IronPDF와 C# for 루프를 함께 사용하여 간단한 보고서를 생성하는 방법을 보여줍니다.
먼저 IronPDF NuGet 패키지를 설치해야 합니다. Visual Studio의 패키지 관리자 콘솔을 사용하여 이를 수행할 수 있습니다:
Install-Package IronPdf
IronPDF를 설치한 후에는 숫자와 그 제곱을 포함하는 표를 가진 HTML로부터 PDF 보고서를 생성하는 단순한 예제를 만듭니다.
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 루프와 관련 개념에 대한 탄탄한 기초를 제공했습니다. 우리는 루프 변수, 루프 본체, 반복 변수, 내부 및 외부 루프, 무한 루프, boolean 표현식, 코드 블록, 중첩 루프를 탐구하였으며, 더 나아가 강력한 IronPDF 라이브러리를 통합하여 for 루프를 사용한 동적 PDF 보고서 생성 방법까지 시연했습니다.
IronPDF는 그 기능을 테스트할 수 있는 무료 체험판을 제공하며, 유용하다고 판단되면 적합한 요구에 맞는 합리적인 옵션으로 라이선스를 시작할 수 있습니다.
자주 묻는 질문
C#에서 for 루프는 어떻게 작동합니까?
C#에서 for 루프는 지정된 횟수만큼 코드를 반복 실행하는데 사용됩니다. 이 루프는 초기화, 조건, 증가의 세 가지 주요 부분으로 구성되어 있으며 루프 실행을 제어합니다.
'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 루프의 부울 표현식은 루프 실행 여부를 결정합니다. 반복이 시작되기 전에 평가되며, 루프가 진행되려면 참이어야 합니다.
for 루프와 함께 사용할 수 있는 C# 라이브러리를 설치하는 방법은 무엇입니까?
Visual Studio의 패키지 관리자 콘솔에서 적절한 설치 명령을 사용하여 C# 라이브러리를 설치할 수 있으며, 이를 통해 for 루프 내에서 해당 기능을 활용할 수 있습니다.




