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

C# String Interpolation (開発者向けの仕組み)

文字列補間とは何ですか?

プログラマーは、文字列補間を使用して文字列を作成できます。これは、式や変数を定数文字列オブジェクトリテラルに即座に評価して挿入することを含みます。 プレースホルダーを含む逐語的な文字列は、指定された式や変数の値によって置き換えられ、補間された文字列を使用して作成できます。

文字列連結やフォーマット文字列指定子の使用といったより伝統的な手法と比較して、補間された文字列表現はこの機能を許可するさまざまなプログラミング言語でテキストと動的データを組み合わせることを容易にし、コードをより読みやすく、簡潔にします。この記事では、C#のC#の文字列補間機能について学びます。

以下は、得られる文字列補間機能です:

  1. プレースホルダー構文:結果文字列に式や変数を挿入するために、文字列補間は特定の構文を使用します。 通常、特別な記号や文字(例えば{}$(){{}}など)が文字列補間のプレースホルダーを囲みます。
  2. 式の評価:ランタイム時に、プレースホルダー内の変数や式が評価され、その結果が即座に生の文字列に配置されます。
  3. 読みやすさの向上:開発者が値を明示的に変換または連結せずに文字列に直接配置できるようにすることで、コードの可読性が向上します。

文字列補間の使い方

  1. 新しいC#プロジェクトを作成します。
  2. 必要なC#バージョンがインストールされていることを確認します。
  3. 記号や文字を使用して文字列補間を作成します。
  4. 補間された文字列を必要に応じて使用します。
  5. コードを実行します。

C#における文字列補間

C#の文字列補間により、開発者は式や変数を文字列リテラルに直接埋め込むことができます。 複数行の文字列を構築するプロセスを簡素化し、簡潔で読みやすい構文を提供します。 文字列補間を直接使用する場合、コンパイラはその場所にstring.Formatメソッドを配置します。

リテラル文字列補間構造の構成要素:

  • $記号は文字列リテラルが補間されていることを示し、その前に要素が来ます。 通常の文字列リテラルとは補間された文字列を区別します。
  • プレースホルダーを持つ文字列リテラル:波括弧{}が式または変数用のプレースホルダーを囲み、$で補間を指定された文字列リテラルの内部に置かれます。 これらのプレースホルダーは、式や変数値が設定される位置を示しています。
  • プレースホルダー内の式または変数:最終的な補間された文字列では、波括弧{}に囲まれた式や変数の値によってプレースホルダーが置き換えられます。
  • 最終的な補間された文字列:これは、補間後に残る文字列であり、プレースホルダーが変数や式の評価された値で置き換えられたものです。

補間C#の構造

文字列リテラルの冒頭に$記号を追加して、補間された文字列であることを示します。 文字列リテラルを開始する$"の間に空白を入れることはできません。

{<interpolationExpression>[,<alignment>][:<formatString>]} //constant expression
{<interpolationExpression>[,<alignment>][:<formatString>]} //constant expression
If True Then
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	<interpolationExpression>[,<alignment>][:<formatString>]} 'constant expression
$vbLabelText   $csharpLabel

逐語的および生文字列による文字列補間

補間された生文字列リテラルを開始するためにいくつかの$文字を使用して、返された文字列に{および}文字を含めます。 その操作を行うと、$文字の合計数未満の{または}文字のシーケンスが出力文字列に挿入されます。 その文字列内での補間表現をカプセル化するには、使用される波括弧の数が$文字の量と一致する必要があります。 以下の例で示されるように:

int x = 25;
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}"); // Interpolated string output
int x = 25;
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}"); // Interpolated string output
Dim x As Integer = 25
Console.WriteLine($"square of {x} is {Math.Sqrt(x)}") ' Interpolated string output
$vbLabelText   $csharpLabel

C# Null Coalescing (開発者向け説明): 図3 - 前の例の出力

C#文字列補間(開発者のための動作方法):図1 - 文字列メッセージ出力の文字列補間方法

IronPDFでの文字列補間機能

IronPDFのハイライトは、すべてのレイアウトとスタイルを保持するHTMLからPDFへの変換機能です。 ウェブコンテンツをPDFに変換するため、レポート、請求書、ドキュメントに最適です。 HTMLファイル、URL、およびHTML文字列を簡単にPDFに変換できます。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDFをインストールする

次の修正のために必要なものとしてIronPDFライブラリをシームレスなPDF生成として取得します。 これを行うには、以下のコードをパッケージマネージャーに入力してください。

Install-Package IronPdf

C#文字列補間(開発者のための動作方法):図2 - IronPDFのインストール

あるいは、NuGetパッケージマネージャーでパッケージ「IronPDF」を検索して使用することもできます。 IronPDFに関連するすべてのNuGetパッケージのリストから必要なパッケージを選択してダウンロードできます。

C#文字列補間(開発者のための動作方法):図3 - IronPDFパッケージ

IronPDFを使用した文字列補間

このサンプルコードは、文字列補間メソッドと補間式を使用してPDFを作成する方法を示しています。 単一の補間表現に対して、位置合わせ指定子とフォーマット文字列を組み合わせることができます。

using IronPdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int x = 25;
            // Define the interpolated string
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>";
            // Create a PDF using IronPDF
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            // Save the PDF as a file
            pdfcreate.SaveAs("demo.pdf");
        }
    }
}
using IronPdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int x = 25;
            // Define the interpolated string
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>";
            // Create a PDF using IronPDF
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            // Save the PDF as a file
            pdfcreate.SaveAs("demo.pdf");
        }
    }
}
Imports IronPdf

Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim x As Integer = 25
			' Define the interpolated string
			Dim outputstr = $"square of <b>{x}</b> is <b>{Math.Sqrt(x)}</b>"
			' Create a PDF using IronPDF
			Dim pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr)
			' Save the PDF as a file
			pdfcreate.SaveAs("demo.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

上記のコードでは、指定された文字列補間が、文字列表現を所望の出力文字列名に変換するのに役立ちます。 また、複数の文字列を使用して単一の文字列に補間しています。 IronPDFの助けを借りてフォーマット済みの文字列のPDFを作成しています。 同様に、IronPDFを使用して任意の数のPDF文字列表現をPDFに作成できます。 string.Formatメソッドを使用して文字列をフォーマットすることもできます。

結果

C#文字列補間(開発者のための動作方法):図4 - 出力

IronPDFについて詳しく知るには、IronPDFドキュメントを参照してください。

結論

まとめると、C#の文字列補間は、文字列に直接式を埋め込むことができる強力で効果的な機能であり、文字列の作成を容易にします。 従来の文字列連結やフォーマット技術と比較して、開閉括弧を使用して読みやすく理解しやすい構文を提供します。

IronPDFは、$799 Liteバンドルにおいて、永続ライセンス、アップグレードオプション、1年間のソフトウェアメンテナンス、および30日間の返金保証を提供します。 ユーザーは、ウォーターマーク付きトライアル期間中に30日間、実際のアプリケーション設定で製品を評価できます。 IronPDFのコスト、ライセンス、および試用版について詳しく知るには、提供されたIronPDFの価格とライセンスページをご覧ください。 さまざまなIron Softwareの製品とライブラリについてさらに知るには、ウェブサイトを確認してください。

よくある質問

C#における文字列補間とは何ですか?

C#での文字列補間は、開発者が式や変数を直接文字列リテラルに埋め込むことを可能にし、簡潔で読みやすい構文を提供することで文字列の構築プロセスを簡素化します。

C#でPDFを作成するために文字列補間をどのように使用できますか?

文字列補間を使用してHTMLコンテンツにデータを動的に埋め込むことができ、それをIronPDFのレンダリングメソッドを使用してPDFに変換できます。

文字列補間を使用してPDF生成のためにHTMLコンテンツをフォーマットすることは可能ですか?

はい、文字列補間を使用して式や変数でHTMLコンテンツを動的にフォーマットし、それをIronPDFのようなツールでPDFにレンダリングすることができます。

C#での文字列補間に使用される構文は何ですか?

C#での文字列補間の構文は、文字列リテラルの前に'$'記号を置き、式や変数を含むために中括弧'{}'を使用します。

IronPDFは文字列補間とどのように統合されますか?

IronPDFはHTMLコンテンツをPDFドキュメントにレンダリングすることができ、開発者がPDFに変換する前にHTMLにデータを動的に挿入するために文字列補間を使用できます。

伝統的な文字列フォーマット手法に比べて文字列補間を使用する利点は何ですか?

文字列補間は、文字列の連結やフォーマット指定子に比べて読みやすさと簡潔さを向上させ、コードを理解しやすく保守しやすくします。

IronPDFを使用してHTML文字列をPDFドキュメントに変換する方法は?

IronPDFはRenderHtmlAsPdfのようなメソッドを使用してHTMLコンテンツを入力としてフォーマットされたPDFを出力することでHTML文字列をPDFドキュメントに変換できます。

'$'記号の役割は文字列補間で何ですか?

'$'記号は、文字列が補完文字列であることを示し、中括弧'{}'内の式が評価されて出力に含まれるようにします。

C#で文字列補間内の式をどのようにフォーマットしますか?

文字列補間内の式は、中括弧内で整列とフォーマット指定子を使用してフォーマットでき、カスタマイズされた出力形式を可能にします。

どのようにして文字列補間がPDFコンテンツ生成を改善しますか?

文字列補間により、PDFに変換する前にHTMLに動的にコンテンツを埋め込むことができ、パーソナライズされたフォーマット済みドキュメントを効率的に作成する機能を向上させます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。