C# Multiline String (開発者向けの仕組み)
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#."
文字列 str には 3 つの行が含まれ、各行は改行で区切られています。 逐語的な文字列を作成するために、@ シンボルが使用されていることに注意してください。
逐語的文字列での文字のエスケープ
逐語的文字列内にダブルクォートを含める必要がある場合があります。 これを行うには、二重のダブルクォートを使用する必要があります。 例えば:
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#."
この例では、文字列 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!"
ここでは、複数行の文字列を単一行の文字列 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!"
文字列補間を使用して、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, " ")
複数行文字列の改行をスペースに置き換えて、単一行文字列にしました。
長い文字列の処理
時には非常に長い文字列がコード中で読みにくいことがあります。 コードを読みやすくするために、+ 演算子を使用して長い文字列を複数行に分割できます。
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."
長い 1 行の文字列を 3 つの部分に分割し、+ 演算子を使用して連結することで、コードが読みやすくなりました。
生文字列リテラルを使用した複数行文字列リテラルの作成
C# 10では、生文字列リテラルという新しい機能が導入されました。 これらにより、@ シンボルを使用せずに複数行の文字列リテラルを作成できます。 生の文字列リテラルを作成するには、文字列を三重引用符で囲みます (""")。 生文字列リテラルは、トリプルクォート内の改行を含むすべての文字を保持します。 例えば:
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."""
生文字列リテラルを使用して複数行文字列を作成しました。 文字列を囲むためのトリプルクォートの使用に注意してください。
生文字列リテラルでの文字のエスケープ
逐語的文字列と同様に、生文字列リテラル内にダブルクォートを含める必要があるかもしれません。 これを行うには、二重のダブルクォートを使用することができます。 例えば:
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."""
二重のダブルクォートを使用して、生文字列リテラル内にダブルクォートを含めました。
逐語的文字列と生文字列リテラルの組み合わせ
場合によっては、逐語的文字列と生文字列リテラルの両方の機能を組み合わせたい場合があります。 これは、@ 記号の後に三重引用符を続けることで実行できます。
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."""
この例では、逐語的文字列と生文字列リテラルの両方を使用して複数行文字列を作成しました。 @ 記号の後に三重引用符が続いていることに注意してください。
IronPDFで複数行文字列を使用したPDFの生成
IronPDFは、特にウェブ開発者を念頭に置いて設計された軽量な .NET PDFライブラリです。 これはPDFファイルの読み取り、書き込み、操作を簡単にし、あらゆる種類のファイルタイプをPDFコンテンツに変換できます。デスクトップおよびウェブの両方で.NETプロジェクトで使用できます。 最も良い点は、開発環境で無料で試せることです。
IronPDFでHTML複数行文字列を利用して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");
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")
この例では、文字列補間を使用して、複数行の文字列内に name および age 変数を含め、PDF コンテンツを動的かつカスタマイズ可能にしました。 PDFに必要なコンテンツで複数行文字列を作成しました。 次に、 IronPDF名前空間から ChromePdfRenderer クラスをインスタンス化し、 RenderHtmlAsPdf メソッドを使用して複数行の文字列コンテンツを PDF ドキュメントに変換しました。 最後に、PDFドキュメントを "BioData.pdf" というファイルに保存しました。
結論
そして、複数行文字列の多様な世界の駆け足のツアーが完了します。 複数行文字列を使用するC#の知識が深まりましたので、IronPDFを用いた上記の例のようにプロジェクトで活用し始めることができます。
IronPDFを試してみたいですか? IronPDFの30日間無料トライアルで始められます。 開発目的で完全に無料で使用できるので、その真の実力を確かめることができます。 気に入った場合は、IronPDF は $999 からご利用いただけます。 さらに大きな節約のためには、Iron Suiteパッケージを確認してください。これは、9つのIron Softwareツールが2つの価格で手に入るパッケージです。 コーディングを楽しんでください!

よくある質問
C# でマルチライン文字列をどのように作成できますか?
C# では、文字列の前に '@' シンボルを付けることにより、逐語的文字列リテラルを使用してマルチライン文字列を作成できます。これにより、文字列内に改行や特殊文字を直接含めることができます。
C# で逐語的文字列リテラルを使用する目的は何ですか?
C# の逐語的文字列リテラルは、エスケープシーケンスを使用せずに改行や特殊文字を保持する文字列を作成するために使用されます。 '@' 記号で示され、多行文字列を書くのに最適です。
逐語的文字列でダブルクォートなどの特殊文字をどのように扱いますか?
逐語的文字列では、ダブルダブルクォートを使用してダブルクォートを含めることができます。例えば、'@"これは ""多行"" 文字列です。"' は、文字列内にダブルクォートを含めることができます。
C# 10 の生の文字列リテラルとは何で、それはどのように動作しますか?
C# 10 で導入された生の文字列リテラルは '@' シンボルを使用せずにマルチライン文字列を作成することを可能にします。それらはトリプルクォートで囲まれ、改行を含むすべての文字をそのまま保持します。
PDF生成でマルチライン文字列をどのように使用できますか?
マルチライン文字列はHTML形式で動的コンテンツを作成するのに使用でき、それを HTML から PDF への変換をサポートする IronPDF などのライブラリを用いて PDF ドキュメントに変換できます。
文字列補間とは何で、それはマルチライン文字列にどのように適用されますか?
C# の文字列補間では、'$' 記号を使用して文字列内に変数や式を埋め込むことができます。これは、動的コンテンツをシームレスに含めるためにマルチライン文字列と共に利用できます。
C# でマルチライン文字列を一行文字列に変換するにはどうすればいいですか?
マルチライン文字列を一行文字列に変換するには、Replace メソッドを使用して、改行をスペースや他の文字に置き換えます。例えば、multilineString.Replace(Environment.NewLine, " ") です。
.NET アプリケーションで PDF を生成するためにライブラリを使用するべき理由は何ですか?
.NET の PDF 生成用に設計されたライブラリ、例えば IronPDF は、PDF の読み取り、書き込み、操作のプロセスを簡略化します。それらは様々なファイルタイプを PDF に変換することをサポートし、デスクトップおよび Web アプリケーションのための強力なツールセットを提供します。




