C# 多行字串(開發者的工作原理)
當您開始學習 C# 時,字串是您最早學習的概念之一。 如果你曾經寫過 Hello, World! 程序,那麼你已經接觸過字串了。
隨著您對 C# 越來越熟悉,您的程式也會越來越複雜。 不久之後,您就會開始處理跨越多行的字串。 如果您現在正處於這個階段,那麼您很幸運,因為在本指南中,我們將解釋什麼是多行字串以及如何使用它們。 讓我們深入瞭解。
什麼是多行字串?
多行字串聽起來很像 - 跨多行的字串,有別於一般的單行字串。 C# 中的多行字串是使用字串字面意義建立的,字串字面意義是用雙引號括住的一系列字元。 要形成多行字串,我們需要使用一種特殊類型的字串字面意義,稱為逐字字串字面意義。
逐字逐句字串的魔力
要在 C# 中建立多行字串字面意義,我們使用逐字字串。 逐字字串以 @ 符號為前綴,允許我們在不使用轉義序列的情況下包含換行符、特殊字元甚至空格。
以下是一個使用逐字字串的多行字串範例:
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 包含三行,每行之間以換行符號分隔。 請注意使用 @ 符號來建立逐字字串。
逐字字串中的跳脫字元
在某些情況下,您可能需要在逐字字串中加入雙引號。 為此,您必須使用雙引號。 舉例來說
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許可證的起價僅為 $999 。 若想節省更多,請查看 Iron套件套裝,您可以用兩個工具的價格獲得全部九個 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 應用程序提供了強大的工具集。



