C# 多行字串(開發者的工作原理)
當您開始學習 C# 時,字串是您最早學習的概念之一。 如果您曾經編寫過一個 Hello, World! 程式,那麼您已經使用過字串。
隨著您對 C# 越來越熟悉,您的程式也會越來越複雜。 不久之後,您就會開始處理跨越多行的字串。 如果您現在正處於這個階段,那麼您很幸運,因為在本指南中,我們將解釋什麼是多行字串以及如何使用它們。 讓我們深入瞭解。
什麼是多行字串?
多行字串聽起來很像 - 跨多行的字串,有別於一般的單行字串。 C# 中的多行字串是使用字串字面意義建立的,字串字面意義是用雙引號括住的一系列字元。 要形成多行字串,我們需要使用一種特殊類型的字串字面意義,稱為逐字字串字面意義。
逐字逐句字串的魔力
要在 C# 中建立多行字串字面意義,我們使用逐字字串。 Verbatim 字串以 @ 符號為前綴,讓我們可以包含換行符、特殊字符甚至空白,而無需使用轉義序列。
以下是一個使用逐字字串的多行字串範例:
string str = @"This is a
multiline string
in C#.";string str = @"This is a
multiline string
in C#.";Dim str As String = "This is a
multiline string
in C#."字串 str 包含三行,每行之間以換行隔開。 請注意使用 @ 符號來建立逐字字串。
Escaping Characters in Verbatim Strings逐字逐句字串中的字符
在某些情況下,您可能需要在逐字字串中加入雙引號。 為此,您必須使用雙引號。 舉例來說
string str = @"This is a
""multiline""
string in C#.";string str = @"This is a
""multiline""
string in C#.";Dim str As String = "This is a
""multiline""
string in C#."在此範例中,字串 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!";Dim name As String = "John"
Dim str As String = "Hello, " & name & ",
Welcome to the
world of C# multiline strings!"在此,我們將多行字串與單行字串 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!";Dim age As Integer = 25
Dim str As String = $"Hello, I am {age} years old,
and I am learning
C# multiline strings!"我們使用字串插值將 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, " ");Dim multilineString As String = "This is a
multiline string
in C#."
Dim singleLineString As String = multilineString.Replace(Environment.NewLine, " ")我們以空格取代多行字串中的換行符,形成單行字串。
處理長字串
有時候,非常長的字串在您的程式碼中會難以閱讀。 為了讓程式碼更具可讀性,您可以使用 + 運算符將長字串分割為多行。
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.";Dim longString As String = "This is a very long string that " & "needs to be split across " & "multiple lines for better readability."我們將冗長的單行字串分割成三個部分,並使用 + 運算符號將它們串連起來,使代碼更具可讀性。
使用原始字串字元建立多行字串字元。
在 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.""";Dim str As String = """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.""";string str = """This is a
""multiline""
string using raw string literals in C# 10.""";Dim str As String = """This is a ""multiline"" string using raw string literals in C# 10."""我們使用雙引號在原始字串中加入雙引號。
結合逐字紀錄本與原始字串字面意義
在某些情況下,我們可能要結合逐字翻譯與原始字串字面意義的特色。 可以使用 @ 符號,後面加上三個引號。
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.""";Dim str As String = """This is a
multiline string
using both verbatim and raw string literals in C# 10."""在這個範例中,我們使用逐字和原始字串字面建立了一個多行字串。 請注意 @ 符號後面三個引號的使用。
在 IronPDF 中使用多行字符串生成 PDF。
IronPDF 是專為 Web 開發人員設計的輕量級 .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");Dim name As String = "John"
Dim age As String = "25"
Dim content As String = $"<!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
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(content).SaveAs("c://BioData.pdf")在這個範例中,我們使用字串插值將 name 和 age 變數包含在多行字串中,讓我們的 PDF 內容成為動態且可自訂的內容。 我們創建了一個多行字串,其中包含了 PDF 中我們想要的內容。 然後,我們實體化 IronPDF 命名空間中的 ChromePdfRenderer 類,並使用 RenderHtmlAsPdf 方法將多行字串內容轉換為 PDF 文件。 最後,我們將 PDF 文件儲存為一個名為"BioData.pdf"的檔案。
結論
這就是多行字串多變世界的一瞥。 現在您已經是多行字串 C# 的專家,您可以開始在您的專案中實作它們 - 例如上面 IronPdf 的範例。
想要使用 IronPdf? 您可以從我們的 30天免費試用 IronPDF 開始。 它還可以完全免費用於開發目的,讓您真正能一窺其真面目。 如果您喜歡,IronPDF 的起價低至 $799,即可取得 IronPDF 授權。 若想節省更多,請查看 Iron套件套裝,您可以用兩個工具的價格獲得全部九個 Iron Software 工具。 祝您編碼愉快!

常見問題解答
如何在 C# 中建立多行字串?
在 C# 中,您可以在字串前加上「@」符號,使用逐字字串字面意義建立多行字串。這可讓您直接在字串中加入換行符及特殊字符。
在 C# 中使用逐字字串字面意義的目的是什麼?
C# 中的逐字字串字面意義用於建立保留換行符及特殊字符的字串,而不需要轉換順序。它們以'@'符號表示,是撰寫多行字串的理想選擇。
如何處理逐字字串中的雙引號等特殊字符?
在逐字字串中,您可以使用雙引號包含雙引號。例如,'@"This is a ""multiline" string."' 允許您在字串中包含雙引號。
什麼是 C# 10 中的原始字串字面意義,以及它們如何運作?
C# 10 中引入的原始字串字面詞允許在不使用 '@' 符號的情況下創建多行字串。這些字串以三引號括起,並保留所有字元(包括換行符)的原樣。
如何在 PDF 生成中使用多行字串?
多行字串可用於建立 HTML 格式的動態內容,然後可使用 IronPDF 等支援 HTML 至 PDF 轉換的函式庫將其轉換為 PDF 文件。
什麼是字串插值,以及如何應用於多行字串?
C# 中的字串內插允許使用「$」符號在字串中嵌入變數或表達式。它可與多行字串一起使用,無縫地包含動態內容。
如何在 C# 中將多行字串轉換為單行字串?
若要將多行字串轉換為單行字串,您可以使用 Replace 方法,以空格或其他字元取代換行符號。例如multilineString.Replace(Environment.NewLine, " ").
開發人員為何要在 .NET 應用程式中使用函式庫來產生 PDF?
IronPDF 是專為在 .NET 中產生 PDF 而設計的函式庫,例如 IronPDF,可簡化 PDF 的讀取、寫入和操作流程。它們支援將各種檔案類型轉換成 PDF,為桌面和網頁應用程式提供了強大的工具集。







