跳過到頁腳內容
.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# 字符串插值(它如何為開發人員工作):圖 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 包中提供永久許可證、升級選項、一年的軟件維護和 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 中嵌入動態內容,增強創建個性化和格式化文件的能力。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。