在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
入门C#语言时,字符串是你学习的最早概念之一。如果你曾经写过“Hello, World!程序,然后您已经处理过字符串。
随着您对C#的熟悉程度提高,您的程序将变得更复杂。用不了多久,您就会开始处理跨越多行的字符串。如果您现在正处于这个阶段,那么您很幸运,因为在本指南中,我们将解释什么是多行字符串以及如何使用它们。让我们开始吧。
多行字符串正如其名字所暗示的那样——是一种跨多行的字符串,与通常的单行字符串形成对比。在 C# 中,多行字符串是使用字符串字面量创建的,即用双引号括起来的一系列字符。为了形成多行字符串,我们需要使用一种特殊的字符串字面量,称为逐字字符串字面量。
要在C#中创建多行字符串文本,我们使用Verbatim字符串。Verbatim字符串以@符号作为前缀,允许我们包括换行、特殊字符,甚至空白字符,而无需使用转义序列。
下面是一个使用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 包含三行,每行由换行符分隔。请注意使用 @ 符号来创建逐字字符串。
可能会有需要在逐字字符串中包含双引号的情况。为此,您必须使用双双引号。例如:
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!"
在这里,我们将多行字符串与单行字符串名称连接在一起。
在处理多行字符串时,您可以使用变量或表达式对其进行格式化。要格式化多行字符串,您可以使用 '$' 符号进行字符串插值。
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.";
IRON VB CONVERTER ERROR developers@ironsoftware.com
我们将长长的单行字符串拆分成三个部分,然后使用 "+"运算符将它们连接起来,使代码更加易读。
在 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 是一个专为网页开发人员设计的轻量级 .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>";
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>";
IRON VB CONVERTER ERROR developers@ironsoftware.com
// 创建一个新的PDF文档
var pdfDocument = new IronPdf.ChromePdfRenderer
```();
pdfDocument.RenderHtmlAsPdf(内容).SaveAs("c://BioData.pdf");
这是代码实际运行的样子:
![](/static-assets/pdf/blog/csharp-multiline-string/csharp-multiline-string-1.webp)
在这个例子中,我们使用字符串插值将姓名和年龄变量包含在多行字符串中,使我们的PDF内容具有动态性和可定制性。我们创建了一个包含我们想要放入PDF中的内容的多行字符串。然后,我们从IronPDF命名空间实例化ChromePdfRenderer类,并使用RenderHtmlAsPdf方法将多行字符串内容转换为PDF文档。最后,我们将PDF文档保存为一个名为"BioData.pdf"的文件。
## 结论
这就是多行字符串的多样化世界的快速导览。现在你已经是多行字符串的C#专家,你可以开始在你的项目中实现它们了——比如上面使用IronPDF的例子。
想要使用IronPDF吗?你可以从我们的... [30 天免费试用](https://ironsoftware.com/suite/#trial-license)开发端也是完全免费的,所以您可以真正了解它的性能。而且,如果您喜欢它,IronPDF 的起价仅为 [$749](/licensing/)欲获得更大折扣,请查看 [Iron Suite](/licensing/) 在这里,您可以以两款工具的价格获得Iron Software的全部九款工具。祝编程愉快。!
![](/static-assets/pdf/blog/csharp-multiline-string/csharp-multiline-string-2.webp)