.NET ヘルプ

C# マルチライン文字列 (開発者向けの仕組み)

更新済み 8月 15, 2024
共有:

C#を始めるとき、文字列は最初に学ぶ概念の一つです。 「Hello, World」を作ったことがあるなら!'プログラムを使用したことがある場合、既に文字列を扱ったことがあるはずです。

C#に慣れてくると、プログラムはより複雑になります。 やがて、複数行に渡る文字列を扱い始めるでしょう。 もし今その段階にいるなら、幸運です。このガイドでは、複数行文字列とは何か、そしてそれをどのように使用するかを説明します。 さあ、始めましょう。

マルチライン文字列とは何ですか?

マルチライン文字列は、その名の通り、通常のシングルライン文字列とは対照的に、複数の行にまたがる文字列です。 C#における複数行の文字列は、二重引用符で囲まれた一連の文字として、文字列リテラルを使用して作成されます。 マルチライン文字列を生成するには、逐語的文字列リテラルと呼ばれる特別な種類の文字列リテラルを使用する必要があります。

バーベイティム文字列の魔法

C#で複数行の文字列リテラルを作成するには、生文字列リテラルを使用します。 文字列リテラル(verbatim文字列)は@記号で始まり、エスケープシーケンスを使用せずに改行、特殊文字、空白文字を含めることができます。

以下は逐語的文字列を使用した複数行文字列の例です:

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#."
VB   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#."
VB   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!"
VB   C#

ここでは、複数行の文字列を1行の文字列名と結合しました。

複数行の文字列のフォーマット

複数行の文字列を扱う場合、変数や式でフォーマットすることができます。 複数行の文字列をフォーマットするには、文字列補間のために '$' 記号を使用できます。

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!"
VB   C#

年齢変数の値を複数行文字列に含めるために文字列補間を使用しました。

複数行文字列を単一行文字列に変換する

時には、複数行の文字列を一行の文字列に変換する必要があるかもしれません。 これを達成するには、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, " ")
VB   C#

複数行文字列の改行をスペースに置き換え、単一行の文字列にしました。

長い文字列の処理

場合によっては、非常に長い文字列はコードの中で読みづらくなることがあります。 コードをより読みやすくするために、'+' 演算子を使用して長い文字列を複数行に分けることができます。

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.";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

長い単一行の文字列を3つの部分に分割し、'+'演算子を使用してそれらを連結することで、コードをより読みやすくしました。

生文字リテラルを使用して複数行文字リテラルを作成する

C# 10では、生文字リテラルと呼ばれる新しい機能が導入されました。 以下は、'@' 記号を使用せずに複数行文字列リテラルを作成することを可能にします。 生の文字列リテラルを作成するには、文字列を三重引用符で囲みます。 ("""). 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."""
VB   C#

生の文字列リテラルを使用して、マルチライン文字列を作成しました。 文字列を囲むための三重引用符の使用に注意してください。

エスケープ文字を含む生文字リテラル

逐語文字列と同様に、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."""
VB   C#

生の文字列リテラル内に二重引用符を含めるために、二重二重引用符を使用しました。

逐語文字列リテラルと生文字列リテラルの結合

場合によっては、生文字列リテラルと通常の文字列リテラルの両方の機能を組み合わせたいことがあります。 これは '@' シンボルの後に三重引用符を使用して行うことができます。

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."""
VB   C#

この例では、逐語文字列リテラルと生文字列リテラルの両方を使用して複数行の文字列を作成しました。 下記の内容を日本語に翻訳してください:

‘@’記号の後に三重引用符を使用していることに注意してください。

IronPDFで複数行文字列を使用してPDFを生成する方法

IronPDFは、特にウェブ開発者を念頭に置いて設計された軽量の.NET PDFライブラリです。 PDFファイルの読み取り、書き込み、および操作が非常に簡単になり、あらゆる種類のファイルタイプをPDFコンテンツに変換することができます。また、デスクトップとウェブの両方の.NETプロジェクトで使用できます。 最高の部分は、開発環境で無料でお試しいただけることです。

HTMLの複数行文字列を使用してIronPDFで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>";
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>";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

// 新しいPDFドキュメントを作成

var pdfDocument = new IronPdf.ChromePdfRenderer();

pdfDocument.RenderHtmlAsPdf(内容).SaveAs("c://BioData.pdf");

そして、コードが実際に動作する様子は次のとおりです:

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

結論

そして、複数行文字列の多機能な世界の高速ツアーです。 あなたは今、複数行文字列C#のプロです。上記のIronPDFの例のように、プロジェクトにそれらを実装し始めることができます。

IronPDFを手に入れたいですか? 以下の文から始めることができます。 30日間無料試用. 開発目的での使用も完全に無料なので、その機能を十分に確認できます。 そして、気に入った場合は、IronPDFはわずかから始まります $749. さらにお得にするには、こちらをご覧ください アイアン スイート ここで、9つのIron Softwareツールすべてを2つの価格で手に入れることができます。 コーディングを楽しんでください!

< 以前
Visual C++ 再頒布可能パッケージとは何ですか
次へ >
C# If(開発者向けの動作説明)

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >