C# Continue (개발자를 위한 작동 방식)
제어 흐름 문은 프로그래밍에서 필수적으로, 프로그램 내 명령의 실행 순서를 결정합니다. C#에서는 루프를 제어하기 위한 세 가지 기본 문은 'continue', 'break', 그리고 'goto'입니다. 이 문들은 루프 내에서 실행 흐름을 변경할 수 있는 능력을 제공하며, 코드의 효율성과 가독성을 향상시킵니다. 이 기사에서는 C#의 continue와 break 메서드의 복잡성에 대해 탐구하고, 그 문법, 응용 및 모범 사례를 살펴봅니다. 나중에 기사에서 IronPDF - 강력한 C# PDF 라이브러리에 대해 배우게 되며, Iron Software에서 PDF 문서를 읽고 쓸 수 있는 방법을 탐구할 것입니다.
'continue;' 문 이해하기
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 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 문은 루프를 조기에 종료시킵니다. 이를 만나면 루프의 조건에 상관없이 루프의 실행이 종료됩니다. 이는 특정 조건이 충족될 때 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
이 예제에서는 루프가 numbers 배열을 반복합니다. 숫자 6을 만나면, break 문이 실행되어 루프가 조기에 종료됩니다. 결과적으로 숫자 1부터 5만 출력됩니다.
'goto;' 문 탐구
C#에서 goto 문은 같은 메서드 안에, 같은 switch 문 안에, 혹은 같은 루프 안에 있는 특정 레이블로 제어를 옮기는 방법을 제공합니다. goto은 실행 흐름을 점프 문으로 변경하는 강력한 도구가 될 수 있지만, 코드를 덜 읽기 쉽고 유지보수하기 어렵게 만들 가능성 때문에 현대 프로그래밍 관행에서는 종종 권장되지 않습니다. 그러나 goto이 효과적이고 안전하게 사용될 수 있는 상황이 있습니다.
구문
C#의 goto 문 법은 간단합니다:
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.")
이 예제에서는, goto 문이 조건 i * j > 10이 충족되면 exitLoop 레이블로 제어를 옮겨 중첩된 루프를 효과적으로 벗어납니다.
IronPDF - 종합 PDF 라이브러리를 소개합니다. Iron Software의 개발.
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 Core, .NET Standard, .NET Framework 등 다양한 .NET 버전에서 실행됩니다. Java, Node.js, Python에서도 사용할 수 있습니다.
- 호환성 및 환경:
- .NET 버전: C#, VB.NET, F#을 지원합니다.
- 프로젝트 유형: 웹(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 파일의 속성, 보안 및 압축을 설정합니다.
- 메타데이터, 수정 기록 및 문서 구조를 편집합니다.
- 페이지 템플릿, 머리글, 바닥글 및 페이지 설정을 적용합니다.
- 성능 최적화:
- 효율적인 PDF 생성을 위한 완전한 멀티스레딩 및 비동기 지원.
- 정확성, 사용 용이성 및 속도를 우선시합니다.
이제 IronPDF 라이브러리에 대해 알고 있으니, IronPDF와 continue 문, break 문, goto 문을 사용하는 애플리케이션을 작성해 봅시다.
Continue 문을 사용하여 PDF 문서 생성
먼저, Visual Studio 콘솔 애플리케이션을 생성합시다.

프로젝트 이름과 위치를 제공합니다.

다음 단계로, 필요한 .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.");
}
}
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
코드 설명
- 초기화 및 콘텐츠 정의: PDF에 포함할 HTML 콘텐츠를 정의하는 것으로 시작합니다.
continue사용: 첫 번째 루프에서, 우리는 숫자 1에서 10까지 생성할 때 숫자 5를 건너뛰기 위해 continue 문을 사용합니다.break사용: 두 번째 루프에서, 우리는 숫자 7에 도달하면 루프를 중지하기 위해 break 문을 사용합니다.- PDF 렌더링: 우리는
ChromePdfRenderer객체를 사용하여 HTML 콘텐츠를 PDF 파일로 변환하고 저장합니다.
출력

최고의 관행 및 고려사항
- 명확성 및 가독성: 대부분의 경우, break, continue 또는 중첩 루프와 같은 구조화된 제어 흐름 문을 사용하면 코드를 더 읽기 쉽고 이해하기 쉽게 만들 수 있습니다. goto 문은 특히 코드베이스가 크거나 과도하게 사용될 때 코드를 따라가기 더 어렵게 만들 수 있습니다.
- 의도하지 않은 결과 방지: goto를 잘못 사용하면 스파게티 코드가 발생할 수 있으며 프로그램 동작을 논리적으로 설명하기 어렵게 만들 수 있습니다. goto는 신중하게 사용해야 하며, 그 사용이 명확하고 잘 문서화되어야 합니다.
- 오류 처리: goto의 일반적인 사용 사례는 오류 처리 시나리오에서 정리 또는 오류 처리 루틴으로 점프하는 데 사용됩니다. 그러나 현대 C# 코드베이스에서는 구조화된 예외 처리(try-catch-finally)를 사용하여 오류 처리를 수행하며, 이는 보다 구조화되고 읽기 쉬운 접근 방식을 제공합니다.
- 성능 고려사항: 성능 면에서 goto는 일반적으로 최소한의 영향을 미칩니다. 그러나 goto의 주요 관심사는 성능보다는 유지 보수성과 가독성에 있습니다.
라이선스 (체험판 이용 가능)
체험판 개발자 체험 라이선스가 제공됩니다 체험 라이선스 받기.
아래에 표시된 appSettings.json 파일의 키를 교체하세요.
{
"IronPdf.License.LicenseKey": "The Key Here"
}
결론
결론적으로, continue 및 break 메서드는 C#에서 루프 실행을 제어하는데 필수적인 도구입니다. 이러한 문을 전략적으로 코드에 통합하면 효율성, 가독성 및 유지 보수성을 향상시킬 수 있습니다. C#의 goto 문은 실행 흐름을 변경할 수 있는 메커니즘을 제공하지만, 그 사용에 신중을 기해야 합니다. 대부분의 경우 break, continue 또는 중첩 루프와 같은 구조화된 제어 흐름 문은 더 명확하고 유지 보수 가능한 솔루션을 제공합니다. 그러나 특정 오류 처리 상황과 같은 일부 틈새 시나리오에서는 goto가 효과적이고 안전하게 사용될 수 있습니다. 어떤 프로그래밍 구조물과도 마찬가지로, trade-off를 평가하고 goto를 사용할지 여부를 결정할 때 코드의 가독성과 유지 보수성을 고려하는 것이 중요합니다.
Iron Software의 IronPDF - 종합적인 PDF 솔루션 라이브러리와 함께 개발자들은 최신 애플리케이션을 개발할 수 있는 고급 기술을 습득할 수 있습니다.
자주 묻는 질문
'continue' 문이 C#에서 어떻게 작동하나요?
C#의 'continue' 문은 루프 내에서 현재 반복의 남은 코드를 건너뛰고 다음 반복으로 직접 진행하기 위해 사용됩니다. 이는 루프에서 숫자 5를 건너뛰는 등의 특정 조건이나 값을 우회할 때 유용합니다.
루프에서 'break' 문의 역할은 무엇인가요?
'break' 문은 특정 조건이 충족되면 루프를 조기에 종료하는 데 사용됩니다. 이는 숫자 6에 도달한 후 반복을 중지하는 것처럼 루프를 특정 지점에서 멈추게 하는 데 좋습니다.
'goto' 문을 C#에서 언제 사용해야 하나요?
'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는 .NET Core, .NET Standard, .NET Framework를 포함한 다양한 .NET 버전과 호환됩니다. C#, VB.NET, F# 등의 여러 언어를 지원하며, Microsoft Visual Studio 및 JetBrains Rider와 같은 IDE와 통합됩니다.




