푸터 콘텐츠로 바로가기
.NET 도움말

C# 여러 줄 문자열 (개발자를 위한 작동 방식)

C#을 시작할 때, 문자열은 배우게 되는 초기 개념 중 하나입니다. 만약 당신이 Hello, World! 프로그램을 작성한 적이 있다면, 이미 문자열을 사용해 본 것입니다.

C#에 익숙해질수록 프로그램은 점점 더 복잡해질 것입니다. 머지않아 여러 줄로 확장되는 문자열을 다루기 시작할 것입니다. 지금 이 단계에 있다면 운이 좋습니다. 이 가이드에서는 다중 줄 문자열이 무엇인지와 사용하는 방법을 설명할 것입니다. 자, 시작해 볼까요?

다중 줄 문자열이란 무엇입니까?

다중 줄 문자열은 말 그대로 여러 줄에 걸쳐 있는 문자열이며, 일반적인 단일 줄 문자열과 대조됩니다. C#에서 다중 줄 문자열은 큰따옴표로 묶인 일련의 문자로 구성된 문자열 리터럴을 사용해 생성합니다. 다중 줄 문자열을 형성하려면 상수 문자열 리터럴이라는 특별한 문자열 리터럴을 사용해야 합니다.

상수 문자열의 마법

C#에서 다중 줄 문자열 리터럴을 만들기 위해 상수 문자열을 사용합니다. 직접 문자열은 @ 기호로 시작하며 줄 바꿈, 특수 문자 및 공백을 이스케이프 시퀀스를 사용하지 않고 포함할 수 있습니다.

다중 줄 문자열의 예는 상수 문자열을 사용한 것입니다:

string str = @"This is a
multiline string
in C#.";
string str = @"This is a
multiline string
in C#.";
Dim str As String = "This is a
multiline string
in C#."
$vbLabelText   $csharpLabel

문자열 str은 세 줄을 포함하며, 각 줄은 줄 바꿈으로 구분됩니다. @ 기호를 사용하여 직접 문자열을 생성하는 것을 주목하세요.

상수 문자열에서 문자를 이스케이프하는 방법

상수 문자열 내부에 큰따옴표를 포함해야 하는 경우가 있을 수 있습니다. 이럴 때는 이중 큰따옴표를 사용해야 합니다. 예를 들어:

string str = @"This is a
""multiline""
string in C#.";
string str = @"This is a
""multiline""
string in C#.";
Dim str As String = "This is a
""multiline""
string in C#."
$vbLabelText   $csharpLabel

이 예에서, 문자열 str은 "multiline"이라는 단어를 큰따옴표로 감싸고 있으며, 이는 직접 문자열 내에서 두 번의 큰따옴표를 사용하여 달성됩니다.

다중 줄 문자열 연결

다중 줄 문자열을 다른 문자열이나 값과 결합해야 할 때가 많습니다. 여러 줄로 구성된 문자열을 다른 문자열 값과 연결하려면, 단일 행 문자열과 마찬가지로 + 연산자를 사용할 수 있습니다.

string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
string name = "John";
string str = @"Hello, " + name + @",
Welcome to the
world of C# multiline strings!";
Dim name As String = "John"
Dim str As String = "Hello, " & name & ",
Welcome to the
world of C# multiline strings!"
$vbLabelText   $csharpLabel

여기에서는 여러 줄로 구성된 문자열을 한 줄의 문자열 name과 연결했습니다.

다중 줄 문자열 형식 지정

다중 줄 문자열을 다룰 때 변수나 표현식으로 형식 지정할 수 있습니다. 여러 줄로 구성된 문자열을 서식화하려면 $ 기호를 사용하여 문자열 보간을 사용할 수 있습니다.

int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
int age = 25;
string str = $@"Hello, I am {age} years old,
and I am learning
C# multiline strings!";
Dim age As Integer = 25
Dim str As String = $"Hello, I am {age} years old,
and I am learning
C# multiline strings!"
$vbLabelText   $csharpLabel

우리는 문자열 보간법으로 변수 age의 값을 여러 줄로 구성된 문자열 내에 포함시켰습니다.

다중 줄 문자열을 단일 줄 문자열로 변환

때로는 다중 줄 문자열을 단일 줄 문자열로 변환해야 할 수 있습니다. 줄 바꿈을 공백이나 원하는 다른 문자로 대체하기 위해 Replace 메소드를 사용할 수 있습니다.

string multilineString = @"This is a
multiline string
in C#.";

string singleLineString = multilineString.Replace(Environment.NewLine, " ");
string multilineString = @"This is a
multiline string
in C#.";

string singleLineString = multilineString.Replace(Environment.NewLine, " ");
Dim multilineString As String = "This is a
multiline string
in C#."

Dim singleLineString As String = multilineString.Replace(Environment.NewLine, " ")
$vbLabelText   $csharpLabel

다중 줄 문자열의 줄 바꿈을 공백으로 교체하여 단일 줄 문자열을 생성했습니다.

긴 문자열 처리

때로는 매우 긴 문자열이 코드에서 읽기 어려울 수 있습니다. 코드를 더 읽기 쉽게 만들기 위해 긴 문자열을 + 연산자를 사용하여 여러 줄로 나눌 수 있습니다.

string longString = "This is a very long string that " +
                    "needs to be split across " +
                    "multiple lines for better readability.";
string longString = "This is a very long string that " +
                    "needs to be split across " +
                    "multiple lines for better readability.";
Dim longString As String = "This is a very long string that " & "needs to be split across " & "multiple lines for better readability."
$vbLabelText   $csharpLabel

긴 단일 행 문자열을 세 부분으로 나누고 + 연산자를 사용하여 연결하여 코드를 더 읽기 쉽게 만들었습니다.

Raw 문자열 리터럴로 다중 줄 문자열 리터럴 생성

C# 10에서는 Raw 문자열 리터럴이라는 새로운 기능이 도입되었습니다. 이것은 @ 기호를 사용하지 않고 여러 줄로 구성된 문자열 리터럴을 만들 수 있게 합니다. 원본 문자열 리터럴을 생성하려면 문자열을 큰따옴표 세 개 (""")로 감싸면 됩니다. Raw 문자열 리터럴은 세 개의 큰따옴표 내부의 줄 바꿈을 포함한 모든 문자를 그대로 유지합니다. 예를 들어:

string str = """This is a
multiline string
using raw string literals in C# 10.""";
string str = """This is a
multiline string
using raw string literals in C# 10.""";
Dim str As String = """This is a multiline string using raw string literals in C# 10."""
$vbLabelText   $csharpLabel

Raw 문자열 리터럴을 사용하여 다중 줄 문자열을 만들었습니다. 문자열을 묶기 위해 세 개의 큰따옴표를 사용한 점에 주목하세요.

Raw 문자열 리터럴에서 문자를 이스케이프하는 방법

상수 문자열과 마찬가지로, Raw 문자열 리터럴에 큰따옴표를 포함해야 할 수 있습니다. 이를 위해 이중 큰따옴표를 사용할 수 있습니다. 예를 들어:

string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
string str = """This is a
""multiline""
string using raw string literals in C# 10.""";
Dim str As String = """This is a ""multiline"" string using raw string literals in C# 10."""
$vbLabelText   $csharpLabel

이중 큰따옴표를 사용하여 Raw 문자열 리터럴 내에 큰따옴표를 포함했습니다.

상수 문자열 및 Raw 문자열 리터럴 결합

특정 경우에는 상수 문자열 리터럴과 Raw 문자열 리터럴의 기능을 결합하고 싶을 수 있습니다. 이는 @ 기호 뒤에 큰따옴표 세 개를 사용하여 수행할 수 있습니다.

string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10.""";
string str = @"""This is a
multiline string
using both verbatim and raw string literals in C# 10.""";
Dim str As String = """This is a
multiline string
using both verbatim and raw string literals in C# 10."""
$vbLabelText   $csharpLabel

이 예제에서는 상수 문자열(verbatim) 및 원시(raw) 문자열 리터럴을 모두 사용하여 여러 줄 문자열을 생성했습니다. @ 기호 뒤에 큰따옴표 세 개를 사용하는 것을 주목하세요.

IronPDF에서 PDF를 생성하기 위한 여러 줄 문자열 사용하기

IronPDF는 웹 개발자를 염두에 두고 설계된 가벼운 .NET PDF 라이브러리입니다. PDF 파일을 읽고, 쓰고, 조작하는 것이 쉽고, 모든 종류의 파일 형식을 PDF 콘텐츠로 변환할 수 있으며, 데스크톱 및 웹 모두에서 .NET 프로젝트에 사용할 수 있습니다. 가장 좋은 점은 개발 환경에서 무료로 사용해 볼 수 있다는 것입니다.

다음은 IronPDF에서 PDF 파일을 생성하기 위해 HTML 여러 줄 문자열을 활용하는 방법입니다.

string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";

// Create a new PDF document using IronPDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
string name = "John";
string age = "25";
string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>";

// Create a new PDF document using IronPDF
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf");
Dim name As String = "John"
Dim age As String = "25"
Dim content As String = $"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You are {age} years old.</p>
<p>This is a
multiline string
used to generate a PDF
with IronPDF and dynamic content.</p>
</body>
</html>"

' Create a new PDF document using IronPDF
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf")
$vbLabelText   $csharpLabel

이 예제에서는 문자열 보간법을 사용하여 nameage 변수를 우리의 여러 줄로 구성된 문자열 내에 포함시킴으로써 PDF 콘텐츠를 동적이고 사용자 정의 가능하게 만들었습니다. 우리는 PDF에 원하는 내용을 가진 여러 줄 문자열을 생성했습니다. 그런 다음 IronPDF 네임스페이스에서 ChromePdfRenderer 클래스를 인스턴스화하고 RenderHtmlAsPdf 메소드를 사용하여 여러 줄로 구성된 문자열 콘텐츠를 PDF 문서로 변환했습니다. 마지막으로 "BioData.pdf"라는 파일에 PDF 문서를 저장했습니다.

결론

그리고 그것이 다재다능한 여러 줄 문자열의 세계를 빠르게 관통하는 것입니다. 이제 여러 줄 문자열 C# 전문가가 되었으니, 프로젝트에 구현을 시작할 수 있습니다 - 위의 IronPDF 예제와 같이.

IronPDF를 직접 사용해 보고 싶으신가요? IronPDF의 30일 무료 체험으로 시작할 수 있습니다. 개발 목적 사용 시 완전히 무료이므로 실제로 어떤 것인지 확인할 수 있습니다. 그리고 만약 당신이 보고 있는 것을 마음에 들어 한다면, IronPDF 라이선스는 $799부터 시작합니다. 더 큰 절약을 원하신다면, Iron Suite 패키지를 확인해 보세요. 여기서 모든 아홉 가지 Iron Software 도구를 두 개의 가격으로 얻을 수 있습니다. 즐거운 코딩 되세요!

Csharp Multiline String 2 related to 결론

자주 묻는 질문

C#에서 여러 줄 문자열을 어떻게 생성할 수 있나요?

C#에서 '@' 문자를 접두어로 사용하여 직역 문자열 리터럴을 통해 여러 줄 문자열을 생성할 수 있습니다. 이를 통해 문자열 내부에 줄바꿈 및 특수 문자를 직접 포함시킬 수 있습니다.

C#에서 직역 문자열 리터럴을 사용하는 목적은 무엇인가요?

C#의 직역 문자열 리터럴은 줄바꿈과 특수 문자를 이스케이프 시퀀스 없이도 보존할 수 있는 문자열을 생성하는 데 사용됩니다. '@' 문자로 표시되며 여러 줄 문자열을 작성하는 데 이상적입니다.

직역 문자열에서 큰따옴표 같은 특수 문자를 어떻게 처리하나요?

문자열 속에서 따옴표를 포함하려면 이중 따옴표를 사용합니다. 예를 들어, '@"이것은 ""여러 줄"" 문자열입니다."'는 문자열 내에 따옴표를 포함할 수 있게 합니다.

C# 10에서 도입된 raw string 리터럴이란 무엇이며 어떻게 작동하나요?

C# 10에서 도입된 raw string 리터럴은 '@' 기호를 사용하지 않고 여러 줄의 문자열을 생성할 수 있게 합니다. 이는 세 개의 따옴표로 감싸져 있어 모든 문자를 보존하며, 줄 바꿈도 포함되어 있는 그대로 유지됩니다.

PDF 생성에 어떻게 여러 줄의 문자열을 사용할 수 있나요?

여러 줄의 문자열은 HTML 형식의 동적 콘텐츠를 생성하는 데 사용될 수 있으며, IronPDF와 같은 HTML을 PDF로 변환하는 라이브러리를 사용하여 PDF 문서로 변환할 수 있습니다.

문자열 보간이란 무엇이며 여러 줄의 문자열에 어떻게 적용되나요?

C#에서 문자열 보간은 '$' 기호를 사용하여 문자열 내에 변수를 또는 표현식을 삽입하는 기능을 말합니다. 이는 여러 줄의 문자열과 함께 사용하여 동적 콘텐츠를 매끄럽게 포함할 수 있습니다.

C#에서 여러 줄의 문자열을 단일 줄 문자열로 변환하려면 어떻게 하나요?

여러 줄의 문자열을 단일 줄 문자열로 변환하려면 Replace 메서드를 사용하여 줄 바꿈을 공백이나 다른 문자로 대체할 수 있습니다. 예를 들어: multilineString.Replace(Environment.NewLine, " ").

.NET 애플리케이션에서 PDF 생성을 위해 개발자가 라이브러리를 사용해야 하는 이유는 무엇인가요?

.NET을 위한 PDF 생성 라이브러리, 예를 들어 IronPDF와 같은 라이브러리들은 PDF를 읽고 쓰고 조작하는 과정을 간소화합니다. 이는 다양한 파일 형식을 PDF로 변환하는 것을 지원하며, 데스크톱과 웹 애플리케이션 모두에서 강력한 도구 세트를 제공합니다.

제이콥 멜러, 팀 아이언 최고기술책임자
최고기술책임자

제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다.

제이콥은 맨체스터 대학교에서 토목공학 학사 학위(BEng)를 최우등으로 취득했습니다(1998~2001). 1999년 런던에서 첫 소프트웨어 회사를 설립하고 2005년 첫 .NET 컴포넌트를 개발한 후, 마이크로소프트 생태계 전반에 걸쳐 복잡한 문제를 해결하는 데 전문성을 발휘해 왔습니다.

그의 대표 제품인 IronPDF 및 Iron Suite .NET 라이브러리는 전 세계적으로 3천만 건 이상의 NuGet 설치 수를 기록했으며, 그의 핵심 코드는 전 세계 개발자들이 사용하는 다양한 도구에 지속적으로 활용되고 있습니다. 25년의 실무 경험과 41년의 코딩 전문성을 바탕으로, 제이콥은 차세대 기술 리더들을 양성하는 동시에 기업 수준의 C#, Java, Python PDF 기술 혁신을 주도하는 데 주력하고 있습니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해