跳至頁尾內容
.NET幫助

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# 字串插值(它如何為開發者工作):圖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 在 $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文件,使得開發者可以在將其轉換為PDF之前,使用字串內插動態插入資料到HTML中。

相較於傳統的字串格式化方法,使用字串內插的好處是什麼?

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

如何使用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核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

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