.NET幫助 C# String.Format(對於開發者的運行原理) Jacob Mellor 更新:2025年7月28日 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 在 C# 程式設計的多樣性中,有效的字串操作是顯示清晰、動態輸出的基石。 String.Format方法是一個強大的工具,為開發人員提供了一種靈活且富有表現力的字串格式化方法。 若要正確使用String.Format方法並在 C# 中建立自訂格式字串,請參閱 Microsoft 官方.NET文件網站上的文件: String.Format 方法。 在本綜合指南中,我們將探討字串格式的複雜性、語法、用法以及它在 C# 中提升字串格式化效率的有效方法。 了解基礎知識: String.Format 是什麼? String.Format 的核心功能是透過將佔位符號替換為對應的值來格式化字串。 該方法是 C# 中System.String類別的一部分,在創建結構良好、可自訂的字串方面起著至關重要的作用。 String.Format 的語法 字串格式化方法的語法涉及使用帶有佔位符的格式項,後面接著要替換的值。 以下是一個簡單的例子: // String.Format example demonstrating basic placeholder usage string formattedString = string.Format("Hello, {0}! Today is {1}.", "John", DateTime.Now.DayOfWeek); // String.Format example demonstrating basic placeholder usage string formattedString = string.Format("Hello, {0}! Today is {1}.", "John", DateTime.Now.DayOfWeek); $vbLabelText $csharpLabel 在這個例子中, {0}和{1}是佔位符,後續的參數("John" 和DateTime.Now.DayOfWeek )會取代格式化字串中的這些佔位符。 數字和日期/時間格式 String.Format的一個強大功能是能夠根據特定模式格式化數字和日期/時間值。 例如: // Formatting numeric and date/time values decimal price = 19.95m; DateTime currentDate = DateTime.Now; string formattedNumeric = string.Format("Price: {0:C}", price); // Formats the numeric value as currency string formattedDate = string.Format("Today's date: {0:yyyy-MM-dd}", currentDate); // Formats the date // Formatting numeric and date/time values decimal price = 19.95m; DateTime currentDate = DateTime.Now; string formattedNumeric = string.Format("Price: {0:C}", price); // Formats the numeric value as currency string formattedDate = string.Format("Today's date: {0:yyyy-MM-dd}", currentDate); // Formats the date $vbLabelText $csharpLabel 在此程式碼片段中, {0:C}將數值格式化為貨幣, {0:yyyy-MM-dd}根據指定的模式格式化日期。 具有數字索引的多種格式項 在 C# 中,string.Format 方法允許開發人員在格式字串中使用數字索引作為佔位符。 這有助於按特定順序插入相應的值。 // Demonstrating multiple format items with numerical indices string formattedNamed = string.Format("Hello, {0}! Your age is {1}.", "Alice", 30); // Demonstrating multiple format items with numerical indices string formattedNamed = string.Format("Hello, {0}! Your age is {1}.", "Alice", 30); $vbLabelText $csharpLabel 這裡, {0}和{1}是數字佔位符,值是按照傳遞給 string.Format 方法的參數順序提供的。 C# 不支援在 string.Format 方法中使用命名佔位符,例如上面所示的數字索引。 如果需要使用命名佔位符,則應使用字串插值或外部庫提供的其他方法。 以下是一個字串插值表達式的範例: 字串插值表達式 字串插值是在 C# 6.0 中引入的,它允許開發人員直接在字串字面量中使用表達式,從而使程式碼更易讀,並降低重新排列參數時出錯的風險。 // String interpolation example demonstrating direct variable use var name = "Alice"; var age = 30; string formattedNamed = $"Hello, {name}! Your age is {age}."; // String interpolation example demonstrating direct variable use var name = "Alice"; var age = 30; string formattedNamed = $"Hello, {name}! Your age is {age}."; $vbLabelText $csharpLabel 在這個例子中, {name}和{age}直接在字串中進行評估,其值由對應的變數提供。 對齊和間距 String.Format可以精確控制格式化值的對齊方式和間距。 透過在格式項目中新增對齊和寬度規範,開發人員可以建立整齊對齊的輸出。 在 C# 中使用String.Format控制間距涉及指定插入字串的寬度,從而可以精確控制前導或尾隨空格。 例如,考慮在銷售報告中統一產品名稱和價格: // Using String.Format for aligning product names and prices string[] products = { "Laptop", "Printer", "Headphones" }; decimal[] prices = { 1200.50m, 349.99m, 99.95m }; Console.WriteLine(String.Format("{0,-15} {1,-10}\n", "Product", "Price")); for (int index = 0; index < products.Length; index++) { string formattedProduct = String.Format("{0,-15} {1,-10:C}", products[index], prices[index]); Console.WriteLine(formattedProduct); } // Using String.Format for aligning product names and prices string[] products = { "Laptop", "Printer", "Headphones" }; decimal[] prices = { 1200.50m, 349.99m, 99.95m }; Console.WriteLine(String.Format("{0,-15} {1,-10}\n", "Product", "Price")); for (int index = 0; index < products.Length; index++) { string formattedProduct = String.Format("{0,-15} {1,-10:C}", products[index], prices[index]); Console.WriteLine(formattedProduct); } $vbLabelText $csharpLabel 在這個例子中, {0,-15}和{1,-10}格式控制"產品"和"價格"標籤的寬度,確保左對齊,並允許前導或尾隨空格。 然後循環將產品名稱和價格填入表格中,產生格式整齊的銷售報告,並精確控制間距。 調整這些寬度參數可以有效管理顯示資料的對齊方式和間距。 使用三元運算子進行條件格式設定 利用String.Format中的三元運算符,可以依照特定條件進行條件格式化。 例如: // Using ternary operator for conditional formatting int temperature = 25; string weatherForecast = string.Format("The weather is {0}.", temperature > 20 ? "warm" : "cool"); // Using ternary operator for conditional formatting int temperature = 25; string weatherForecast = string.Format("The weather is {0}.", temperature > 20 ? "warm" : "cool"); $vbLabelText $csharpLabel 這裡的天氣描述會根據溫度而改變。 複合格式 要改進 C# 中物件的顯示,可以新增格式字串(也稱為"複合格式字串")來控製字串表示形式。 例如,使用 {0:d} 表示法會將"d"格式說明符套用至清單中的第一個物件。在格式化字串或複合格式化功能的上下文中,這些格式說明符決定了各種類型(包括數值、小數、日期和時間以及自訂類型)的呈現方式。 以下是一個包含單一物件和兩個格式項目的範例,結合了複合格式字串和字串插值: // Combining composite format strings and string interpolation string formattedDateTime = $"It is now {DateTime.Now:d} at {DateTime.Now:t}"; Console.WriteLine(formattedDateTime); // Output similar to: 'It is now 4/10/2015 at 10:04 AM' // Combining composite format strings and string interpolation string formattedDateTime = $"It is now {DateTime.Now:d} at {DateTime.Now:t}"; Console.WriteLine(formattedDateTime); // Output similar to: 'It is now 4/10/2015 at 10:04 AM' $vbLabelText $csharpLabel 這種方法可以根據特定格式自訂物件的字串表示,從而實現更可控、更具視覺吸引力的輸出。 插入的字串直接包含變量,語法更簡潔。 IronPDF簡介 IronPDF是一個 C# 庫,它能夠使用 HTML 建立 PDF 文件、從 PDF 文件中提取文字以及管理 PDF 中的版本和歷史記錄。 它為開發人員提供了一套全面的工具,用於在其 C# 應用程式中產生、修改和渲染 PDF 文件。 透過IronPDF,開發人員可以建立符合其特定要求的複雜且美觀的 PDF 文件。 IronPDF安裝:快速入門 要開始在 C# 專案中使用IronPDF庫,您可以輕鬆安裝IronPDF NuGet套件。 在軟體包管理器控制台中使用以下命令: # Install the IronPdf NuGet package Install-Package IronPdf # Install the IronPdf NuGet package Install-Package IronPdf SHELL 或者,您可以在NuGet套件管理器中搜尋" IronPDF ",然後從那裡安裝它。 C# String.Format 的多功能性 C# 的String.Format方法因其在創建格式化字串方面的多功能性而聞名。 它允許開發人員在格式字串中定義佔位符,並用相應的值替換它們,從而對字串輸出進行精確控制。 String.Format能夠格式化數值、日期/時間資訊和對齊文本,使其成為創建清晰、結構化的文本內容的不可或缺的工具。 將 String.Format 與IronPDF集成 當談到將String.Format與IronPDF整合時,答案是肯定的。 String.Format提供的格式化功能可用於動態產生內容,然後使用 IronPDF 的功能將其合併到 PDF 文件中。 我們來看一個簡單的例子: using IronPdf; // Class to generate PDF with formatted content class PdfGenerator { // Method to generate a PDF for a customer's invoice public static void GeneratePdf(string customerName, decimal totalAmount) { // Format the content dynamically using String.Format string formattedContent = string.Format("Thank you, {0}, for your purchase! Your total amount is: {1:C}.", customerName, totalAmount); // Create a new PDF document using IronPDF var pdfDocument = new ChromePdfRenderer(); // Add the dynamically formatted content to the PDF and save it pdfDocument.RenderHtmlAsPdf(formattedContent).SaveAs("Invoice.pdf"); } } public class Program { // Main method to execute PDF generation public static void Main(string[] args) { PdfGenerator.GeneratePdf("John Doe", 1204.23m); } } using IronPdf; // Class to generate PDF with formatted content class PdfGenerator { // Method to generate a PDF for a customer's invoice public static void GeneratePdf(string customerName, decimal totalAmount) { // Format the content dynamically using String.Format string formattedContent = string.Format("Thank you, {0}, for your purchase! Your total amount is: {1:C}.", customerName, totalAmount); // Create a new PDF document using IronPDF var pdfDocument = new ChromePdfRenderer(); // Add the dynamically formatted content to the PDF and save it pdfDocument.RenderHtmlAsPdf(formattedContent).SaveAs("Invoice.pdf"); } } public class Program { // Main method to execute PDF generation public static void Main(string[] args) { PdfGenerator.GeneratePdf("John Doe", 1204.23m); } } $vbLabelText $csharpLabel 在這個範例中,我們使用String.Format方法動態產生客戶發票的個人化訊息。然後,我們使用 IronPDF 的ChromePdfRenderer功能將格式化後的內容合併到 PDF 文件中。 有關使用 HTML 字串表示法建立 PDF 的更多詳細信息,請參閱IronPDF文件頁面。 結論 總之, String.Format是 C# 程式設計中的中流砥柱,為開發人員提供了一種強大的機制來建立格式化字串。 無論是處理數值、日期/時間資訊或自訂模式, String.Format都能提供靈活且有效率的解決方案。 在探索廣闊的 C# 開發領域時,掌握使用String.Format進行字串格式化的藝術無疑將增強您在應用程式中創建清晰、動態和視覺吸引力輸出的能力。 開發人員可以利用String.Format的強大格式化功能動態建立內容,然後使用IronPDF將其無縫整合到 PDF 文件中。 這種協作方式使開發人員能夠製作高度客製化且視覺效果吸引人的 PDF 文件,從而提升其文件生成能力。 IronPDF提供IronPDF 所有功能的免費試用版,讓您可以像在商業模式中一樣測試其全部功能。 但是,試用期結束後,您需要購買IronPDF的授權。 常見問題解答 如何使用 String.Format 在 C# 中生成 PDF? String.Format 可以用來創建格式化內容,然後使用 IronPDF 的 ChromePdfRenderer 渲染含有格式化字串的 HTML 將其納入 PDF 檔中。 使用 String.Format 進行數字和日期/時間格式化的好處是什麼? String.Format 允許開發者為數字和日期/時間值定義特定模式,例如貨幣或日期顯示,這有助於創建結構化且易於閱讀的輸出。 字串插值如何增強 C# 中的字串格式化? 引入於 C# 6.0 的字串插值允許開發者直接在字串字面中插入表達式,從而提高可讀性並減少錯誤,這在格式化動態內容時特別有用。 String.Format 如何協助格式化字串中的對齊和間距? String.Format 通過在格式項中指定寬度來控制對齊和間距,使開發人員能夠生成整齊對齊的輸出,例如報告或表格。 String.Format 可以處理條件格式化嗎? 是的,String.Format 可以包含三元運算符以進行條件格式化,這使根據條件動態變更字串內容成為可能,例如根據變數值改變文字。 在 C# 的背景下,什麼是複合格式化? C# 中的複合格式化使用格式字串來控制對象如何表示為字串,允許使用格式規範符處理各種數據類型以保證一致且格式化的輸出。 如何利用 IronPDF 與 String.Format 進行文檔生成? IronPDF 可以使用 String.Format 準備動態內容,然後轉換成視覺上吸引人的 PDF,增強 C# 應用中文檔生成的能力。 在 String.Format 中數字索引的重要性是什麼? String.Format 中的數字索引是占位符,用於指示格式字串中值的插入順序,提供了一種管理復雜字串結構的有效方法。 為何 String.Format 被認為在 C# 開發中具有多功能性? String.Format 在於其能夠精確控制各種數據類型和模式來格式化字串,使其在創建清晰、動態且結構化的輸出時必不可少。 開發者如何利用 String.Format 改善其代碼的可讀性? 開發者可以使用 String.Format 構建具有清晰格式和占位符的字串,簡化代碼的可讀性和維護性,特別是在處理複雜字串操作時。 Jacob Mellor 立即與工程團隊聊天 首席技術官 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技術的創新,同時指導下一代技術領導者。 相關文章 更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多 更新2025年12月20日 RandomNumberGenerator C# 使用RandomNumberGenerator C#類可以幫助將您的PDF生成和編輯項目提升至新水準 閱讀更多 更新2025年12月20日 C#字符串等於(它如何對開發者起作用) 當結合使用強大的PDF庫IronPDF時,開關模式匹配可以讓您構建更智能、更清晰的邏輯來進行文檔處理 閱讀更多 C# LINQ 連接查詢語法(對於開發者的運行原理)C# 屬性(對於開發者的運...
更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多