.NET幫助 C# 多行字串(開發者的工作原理) Jacob Mellor 更新:2025年7月28日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 當您開始學習C#時,字串是您將學到的最早概念之一。 如果您曾經編寫過Hello, World!程式,那麼您已經使用過字串。 隨著您對C#越來越熟悉,您的程式將變得更加複雜。 不久之後,您將開始使用跨越多行的字串。 如果您現在已經在這個階段,那麼您很幸運,因為在本指南中,我們將解釋多行字串是什麼以及如何使用它們。 讓我們深入了解。 什麼是多行字串? 多行字串正如其名,是一個跨越多行的字串,這與通常的單行字串形成對比。 在C#中,多行字串是使用字串字面值創建的,即一系列用雙引號括起的字元。 要形成多行字串,我們需要使用一種稱為逐字字串字面值的特殊類型的字串字面值。 逐字字串的魔力 要在C#中創建多行字串字面值,我們使用逐字字串。 逐字字串以@符號為前綴,允許我們在不使用逃脫序列的情況下包含換行符、特殊字元甚至空白。 這裡有一個使用逐字字串的多行字串示例: string str = @"This is a multiline string in C#."; string str = @"This is a multiline string in C#."; $vbLabelText $csharpLabel 字串str包含三行,每行之間由換行符分隔。 請注意使用@符號來創建逐字字串。 在逐字字串中轉義字元 某些情況下,您可能需要在逐字字串中包含雙引號。 要做到這一點,您需要使用雙雙引號。 例如: string str = @"This is a ""multiline"" string in C#."; string str = @"This is a ""multiline"" string in C#."; $vbLabelText $csharpLabel 在此示例中,字串str包含用雙引號括起的"multiline"一詞,這是通過在逐字字串中使用雙雙引號實現的。 連接多行字串 您可能經常需要將多行字串與其他字串或值組合。 要將多行字串與其他字串值連接起來,您可以像對待單行字串一樣使用+運算符。 string name = "John"; string str = @"Hello, " + name + @", Welcome to the world of C# multiline strings!"; string name = "John"; string str = @"Hello, " + name + @", Welcome to the world of C# multiline strings!"; $vbLabelText $csharpLabel 在這裡,我們將多行字串與單行字串name連接起來。 格式化多行字串 在處理多行字串時,您可以用變數或表達式格式化它們。 要格式化多行字串,您可以使用$符號進行字串插值。 int age = 25; string str = $@"Hello, I am {age} years old, and I am learning C# multiline strings!"; int age = 25; string str = $@"Hello, I am {age} years old, and I am learning C# multiline strings!"; $vbLabelText $csharpLabel 我們使用字串插值來包含age變數的值在多行字串中。 將多行字串轉換為單行字串 有時候,您可能需要將多行字串轉換為單行字串。 要實現這一點,您可以使用Replace方法將換行符替換為空格或任何其他想要的字元。 string multilineString = @"This is a multiline string in C#."; string singleLineString = multilineString.Replace(Environment.NewLine, " "); string multilineString = @"This is a multiline string in C#."; string singleLineString = multilineString.Replace(Environment.NewLine, " "); $vbLabelText $csharpLabel 我們將多行字串中的換行符替換為空格,從而得到單行字串。 處理長字串 有時候,在您的代碼中,非常長的字串可能難以閱讀。 為了使代碼更易讀,您可以使用+運算符將長字串分割成多行。 string longString = "This is a very long string that " + "needs to be split across " + "multiple lines for better readability."; string longString = "This is a very long string that " + "needs to be split across " + "multiple lines for better readability."; $vbLabelText $csharpLabel 我們將長單行字串分割成三部分,然後使用+運算符將它們連接起來,使代碼更易讀。 使用原始字串字面值創建多行字串字面值 在C# 10中,引入了一個名為原始字串字面值的新功能。 這允許我們在不使用@符號的情況下創建多行字串字面值。 要創建原始字串字面值,我們將字串括在三個引號(""")中。 原始字串字面值保留所有字元,包括三個引號內的換行符。 例如: string str = """This is a multiline string using raw string literals in C# 10."""; string str = """This is a multiline string using raw string literals in C# 10."""; $vbLabelText $csharpLabel 我們使用原始字串字面值創建了一個多行字串。 請注意使用三個引號來括起字串。 在原始字串字面值中轉義字元 類似於逐字字串,我們可能需要在原始字串字面值中包含雙引號。 要做到這一點,我們可以使用雙雙引號。 例如: string str = """This is a ""multiline"" string using raw string literals in C# 10."""; string str = """This is a ""multiline"" string using raw string literals in C# 10."""; $vbLabelText $csharpLabel 我們通過在原始字串字面值中使用雙雙引號來包含雙引號。 結合逐字字串和原始字串字面值 在某些情況下,我們可能想要結合逐字字串和原始字串字面值的功能。 這可以通過使用@符號,然後是三個引號。 string str = @"""This is a multiline string using both verbatim and raw string literals in C# 10."""; string str = @"""This is a multiline string using both verbatim and raw string literals in C# 10."""; $vbLabelText $csharpLabel 在此示例中,我們使用逐字字串和原始字串字面值創建了一個多行字串。 請注意使用@符號,然後是三個引號。 在IronPDF中使用多行字串生成PDF IronPDF是一個輕量型.NET PDF程式庫,專為網頁開發者設計。 它能夠輕鬆讀取、寫入和操作PDF文件,可以將各種文件類型轉換為PDF內容,您可以在您的.NET專案中將其用於桌面和網頁。 最好的部分是,您可以在開發環境中免費試用。 以下是如何利用HTML多行字串在IronPDF中創建PDF文件: string name = "John"; string age = "25"; string content = $@"<!DOCTYPE html> <html> <body> <h1>Hello, {name}!</h1> <p>You are {age} years old.</p> <p>This is a multiline string used to generate a PDF with IronPDF and dynamic content.</p> </body> </html>"; // Create a new PDF document using IronPDF var pdfDocument = new IronPdf.ChromePdfRenderer(); pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf"); string name = "John"; string age = "25"; string content = $@"<!DOCTYPE html> <html> <body> <h1>Hello, {name}!</h1> <p>You are {age} years old.</p> <p>This is a multiline string used to generate a PDF with IronPDF and dynamic content.</p> </body> </html>"; // Create a new PDF document using IronPDF var pdfDocument = new IronPdf.ChromePdfRenderer(); pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf"); $vbLabelText $csharpLabel 在此示例中,我們使用字串插值將age變數包含在多行字串中,使得PDF內容具有動態和可定制性。 我們創建了一個包含PDF所需內容的多行字串。 然後,我們從IronPDF命名空間中實例化RenderHtmlAsPdf方法將多行字串內容轉換為PDF文件。 最後,我們將PDF文件保存為名為"BioData.pdf"的文件。 結論 這就是多行字串多功能世界的快速導覽。 現在,您已經是C#多行字串專家,您可以開始在您的專案中實施它們,例如上面提到的IronPDF範例。 想要親自使用IronPDF嗎? 您可以從我們的IronPDF的30天免費試用開始。 它在開發用途中也是完全免費的,因此您可以真正了解它的功能。 如果您喜歡所見,IronPDF的起價僅為$799的IronPDF授權。 想要更多節省,查看Iron Suite套裝,您可以以兩個工具的價格獲得所有九個Iron Software工具。 祝開發愉快! 常見問題解答 如何在 C# 中創建多行字符串? 在 C# 中,你可以使用逐字字符串文字創建多行字符串,將字符串前綴 '@' 符號。這樣可以直接在字符串中包含換行符和特殊字符。 使用 C# 中的逐字字符串文字的目的是什么? C# 中的逐字字符串文字用來創建不需要轉義序列的字符串,保持換行符和特殊字符。它們用 '@' 符號表示,非常適合撰寫多行字符串。 如何處理逐字字符串中的特殊字符如雙引號? 在逐字串中,您可以通過使用雙雙引號來包含雙引號。例如,'@"這是一個""多行""字串。'允許您在字串中包含雙引號。 C# 10 中的原始字符串文字是什么以及它們如何工作? C# 10 中引入的原始字符串文字允許創建多行字符串而不用 '@' 符號。它們用三個引號括起來,保留所有字符,包括換行符,完全如它們出現的樣子。 多行字符串可以如何應用於 PDF 生成? 多行字符串可以用來創建動態的 HTML 格式內容,接著可以使用像 IronPDF 這樣支持 HTML 到 PDF 轉換的庫將其轉換成 PDF 文檔。 什麼是字符串插值以及它如何應用於多行字符串? C#中的字符串插值允許使用 '$' 符號嵌入變量或表達式於字符串內。可以用於多行字符串無縫地包含動態內容。 如何在 C# 中將多行字符串轉換為單行字符串? 要將多行字符串轉換成單行字符串,可以使用 Replace 方法將換行符替換為空格或其他字符。例如:multilineString.Replace(Environment.NewLine, " ")。 為什麼開發者應在 .NET 應用程序中使用 PDF 生成庫? 專為 .NET 設計的 PDF 生成庫,如 IronPDF,簡化了讀取、寫入和操作 PDF 的過程。它們支持將各種文件類型轉換為 PDF,為桌面和 Web 應用程序提供了強大的工具集。 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時,開關模式匹配可以讓您構建更智能、更清晰的邏輯來進行文檔處理 閱讀更多 Visual C++ 重新分發包是什麼C# If(開發者的工作原理)
更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多