跳過到頁腳內容
.NET幫助

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

什麼是字串插值?

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

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

Result:

C# String Interpolation (How It Works For Developer):圖 4 - 輸出

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

結論

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

IronPdf 在 $799 Lite bundle 中提供永久授權、升級選項、一年的軟體維護,以及 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 核心代碼的原作者,他自開始以來塑造了公司產品架構,與 CEO Cameron Rimington 一起將其轉變為一家擁有超過 50 名員工的公司,為 NASA、特斯拉 和 全世界政府機構服務。

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

他的旗艦產品 IronPDF & Iron Suite .NET 庫在全球 NuGet 被安裝超過 3000 萬次,其基礎代碼繼續為世界各地的開發工具提供動力。擁有 25 年的商業經驗和 41 年的編碼專業知識,Jacob 仍專注於推動企業級 C#、Java 及 Python PDF 技術的創新,同時指導新一代技術領袖。