跳過到頁腳內容
.NET幫助

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

什麼是字串插值?

程式設計師可以使用字串插值來建立字串,這涉及到立即計算表達式或變數並將其插入常量字串物件字面量中。 使用插值字串可以建立包含佔位符的逐字字串,這些佔位符會被指定的表達式或變數的值取代。

與字串拼接或使用格式字串說明符等傳統技術相比,字串插值表示法使得在支援此功能的各種程式語言中更容易將文字與動態資料結合使用,從而使程式碼更易讀、更簡潔。本文將介紹C# 表達式結果中的字串插值功能

以下是產生的字串插值特徵:

1.佔位符語法:要將表達式或變數插入結果字串,字串插值使用特定的語法。 通常,特殊符號或字元(例如 {{}} 等)用於括起字串內插的佔位符。

  1. 表達式求值:在執行時,佔位符中包含的變數或表達式將被求值,其結果將立即放入原始字串中。
  2. 更好的可讀性:透過允許開發人員直接將值放入字串中,而無需明確地轉換或連接值,可以提高程式碼的可讀性。

如何使用字串插值

  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
$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
$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");
    }
}
$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");
        }
    }
}
$vbLabelText   $csharpLabel

在上面的程式碼中,給定的字串插值幫助我們將字串表示形式轉換為所需的輸出字串名稱。 我們也使用多個字串進行插值,最終得到一個字串。 使用IronPDF,我們正在為格式化字串建立 PDF。 同樣,我們可以藉助IronPDF將任意數量的 PDF 字串表示形式建立到 PDF 中。 我們也可以使用 string.Format 方法格式化字串。

結果:

C# 字串內插(開發者工作原理):圖 4 - 輸出

要了解有關IronPDF 的更多信息,請參閱IronPDF文件

結論

總而言之,C# 的字串插值是一個強大而有效的功能,它允許將表達式直接嵌入到字串中,從而更容易創建字串。 與傳統的字串連接或格式化技術相比,它使用開括號和閉括號提供了一種更易於閱讀和理解的語法。

IronPDF在 $799 Lite 套餐中提供永久許可證、升級選項、一年的軟體維護和 30 天退款保證。 使用者可以在有浮水印的試用期內,在實際應用環境中對產品進行為期 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技術的創新,同時指導下一代技術領導者。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me