フッターコンテンツにスキップ
.NETヘルプ

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#.";
$vbLabelText   $csharpLabel

文字列 str には 3 つの行が含まれ、各行は改行で区切られています。 逐語的な文字列を作成するために、@ シンボルが使用されていることに注意してください。

逐語的文字列での文字のエスケープ

逐語的文字列内にダブルクォートを含める必要がある場合があります。 これを行うには、二重のダブルクォートを使用する必要があります。 例えば:

string str = @"This is a
""multiline""
string in C#.";
string str = @"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!";
$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!";
$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, " ");
$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.";
$vbLabelText   $csharpLabel

長い 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.""";
$vbLabelText   $csharpLabel

生文字列リテラルを使用して複数行文字列を作成しました。 文字列を囲むためのトリプルクォートの使用に注意してください。

生文字列リテラルでの文字のエスケープ

逐語的文字列と同様に、生文字列リテラル内にダブルクォートを含める必要があるかもしれません。 これを行うには、二重のダブルクォートを使用することができます。 例えば:

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.""";
$vbLabelText   $csharpLabel

二重のダブルクォートを使用して、生文字列リテラル内にダブルクォートを含めました。

逐語的文字列と生文字列リテラルの組み合わせ

場合によっては、逐語的文字列と生文字列リテラルの両方の機能を組み合わせたい場合があります。 これは、@ 記号の後に三重引用符を続けることで実行できます。

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.""";
$vbLabelText   $csharpLabel

この例では、逐語的文字列と生文字列リテラルの両方を使用して複数行文字列を作成しました。 @ 記号の後に三重引用符が続いていることに注意してください。

IronPDFで複数行文字列を使用したPDFの生成

IronPDFは、特にウェブ開発者を念頭に置いて設計された軽量 for .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");
$vbLabelText   $csharpLabel

この例では、文字列補間を使用して、複数行の文字列内に name および age 変数を含め、PDF コンテンツを動的かつカスタマイズ可能にしました。 PDFに必要なコンテンツで複数行文字列を作成しました。 次に、 IronPDF名前空間から ChromePdfRenderer クラスをインスタンス化し、 RenderHtmlAsPdf メソッドを使用して複数行の文字列コンテンツを PDF ドキュメントに変換しました。 最後に、PDFドキュメントを "BioData.pdf" というファイルに保存しました。

結論

そして、複数行文字列の多様な世界の駆け足のツアーが完了します。 今やあなたは複数行文字列を使用するC#のプロであり、IronPDFを用いた上記の例のようにプロジェクトで活用し始められます。

IronPDFを試してみたいですか? IronPDFの30日間無料トライアルで始められます。 開発目的で完全に無料で使用できるので、その真の実力を確かめることができます。 気に入った場合は、 IronPDFIronPDFは $799からご利用いただけます。 さらに大きな節約のためには、Iron Suiteパッケージを確認してください。これは、9つのIron Softwareツールが2つの価格で手に入るパッケージです。 コーディングを楽しんでください!

Csharp Multiline String 2 related to 結論

よくある質問

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 アプリケーションのための強力なツールセットを提供します。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me