跳過到頁腳內容
.NET幫助

C# 字串插值(開發者的工作原理)

什麼是字串插值?

程式設計師可以使用字串插值來建立字串,這包括立即評估並將表達式或變數插入常數字串物件字面。 可以使用內插字串建立包含占位符的逐字字串,這些占位符會被指定的表達式或變數的值所取代。

與字串串接或使用格式字串指定符等較傳統的技術相比,插值字串表示法可讓您更輕鬆地在允許此功能的各種程式語言中結合文字與動態資料,使程式碼更清晰簡潔。本文將介紹 C# C# 表達結果中的字串插值功能。

以下是由此產生的字串插值功能:

1.占位符語法:若要在結果字串中插入表達式或變數,字串插值會使用特定的語法。 通常,特殊符號或字元(例如 {}$(){{}} 等)用於括起字串插值的佔位符。 2.表達式的評估:在執行時,佔位符中包含的變數或表達式會被評估,其結果會立即置入原始字串中。 3.更好的可讀性:透過讓開發人員直接將值放入字串,而不需明確轉換或串接值,可提高程式碼的可讀性。

如何使用字串插值

1.建立一個新的 C# 專案。 2.確保已安裝所需的 C# 版本。 3.使用符號或字元建立字串插值。 4.根據需要使用內插字串。 5.執行程式碼。

String Interpolation in C#

C# 中的字串插值功能可讓開發人員直接將表達式或變數嵌入字串字面意義中。 它透過提供簡潔可讀的語法,簡化多行字串的建構過程。 如果我們直接使用字串插值,編譯器會將 string.Format 方法替換到它的位置。

字串插值結構的元件:

  • $ 符號表示字串字面量被插入,並且位於其前面。 它將普通字串字面意義與插值字串區分開來。
  • 帶佔位符的字串字面量:花括號 {} 包圍用於在字串字面量內插入表達式或變數的佔位符,並用 $ 指定。 這些占位符顯示了要輸入表達式或變量值的位置。
  • 佔位符中的表達式或變數:在最終的內插字串中,佔位符將被花括號 ({}) 中表達式或變數的值取代。
  • 最終內插字串:這是插值後的字串,其中的占位符已被變數或表達式的評估值取代。

Structure Of Interpolation 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# String Interpolation (How It Works For Developer):圖 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 產生,請在套件管理員(Package Manager)中輸入下列指令:

Install-Package IronPdf

C# String Interpolation (How It Works For Developer):圖 2 - 安裝 IronPDF

或者,您也可以使用 NuGet Package Manager 來搜尋套件"IronPDF"。 我們可以從這個與 IronPDF 相關的所有 NuGet 套件清單中挑選並下載必要的套件。

C# String Interpolation (How It Works For Developer):圖 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# String Interpolation (How It Works For Developer):圖 4 - 輸出

要瞭解 IronPDF 的更多資訊,請參閱 IronPDF 文件

結論

總而言之,C# 的字串內插是一項強大且有效的功能,它允許直接將表達式嵌入字串中,使字串的建立更加容易。 與傳統的字串串接或格式化技術相比,它提供了一種使用開頭和關尾大括號的語法,更容易閱讀和理解。

IronPDF 的 $999 Lite 授權方案提供永久授權、升級選項、一年軟體維護及 30 天退款保證。 使用者可在帶有浮水印的試用期三十天內,在實際應用環境中評估產品。 請造訪 IronPDF 定價與授權頁面,以瞭解更多關於 IronPDF 的費用、授權和試用版的資訊。 若要進一步瞭解各種 Iron Software 產品與函式庫,請查看其網站。

常見問題解答

什麼是 C# 的字串插值?

C# 的字串插值允許開發人員將表達式或變數直接嵌入到字串中,簡化了構建字串的過程,提供了簡潔可讀的語法。

如何使用字串插值在 C# 中創建 PDF?

您可以使用字串插值將資料動態嵌入到 HTML 內容中,然後使用 IronPDF 的渲染方法將其轉換為 PDF。

字串插值可以用來格式化 HTML 內容以生成 PDF 嗎?

是的,字串插值可以用來動態格式化帶有表達式或變數的 HTML 內容,然後使用像 IronPDF 這樣的工具渲染成 PDF。

C# 的字串插值語法是什麼?

C# 的字串插值語法涉及在字串前加上 '$' 符號,並使用大括號 '{}' 包含表達式或變數。

IronPDF 如何與字串插值整合?

IronPDF 可以將 HTML 內容渲染為 PDF 文件,允許開發人員在將 HTML 轉換為 PDF 之前使用字串插值動態插入資料。

使用字串插值相比於傳統字串格式化方法有什麼好處?

字串插值提供了比字串串接和格式規範更好的可讀性和簡潔性,使程式碼更容易理解和維護。

如何使用 IronPDF 將 HTML 字串轉換成 PDF 文件?

IronPDF 可以使用像 RenderHtmlAsPdf 這樣的方法將 HTML 字串轉換成 PDF 文件,該方法將 HTML 內容作為輸入並輸出格式化的 PDF。

在字串插值中 '$' 符號的作用是什麼?

'$' 符號用於指示字串是插值字串,允許大括號 '{}' 中的表達式被評估並包含在輸出中。

如何在 C# 的字串插值中格式化表達式?

在字串插值中的表達式可以使用對齊和格式規範在大括號中進行格式化,允許自定義輸出格式。

字串插值如何改進 PDF 內容生成?

字串插值允許在轉換為 PDF 之前在 HTML 中嵌入動態內容,增強創建個性化和格式化文件的能力。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我