.NET 帮助

C# 多行字符串(对开发者的作用)

发布 2024年八月15日
分享:

当您开始学习 C# 时,字符串是您最早学习的概念之一。 如果您曾经编写过 "Hello, World!如果您正在使用".NET "程序,那么您已经使用过字符串了。

随着您对 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#."
VB   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#."
VB   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!"
VB   C#

在这里,我们将多行字符串与单行字符串名称连接在一起。

格式化多行字符串

在处理多行字符串时,可以使用变量或表达式对其进行格式化。 要格式化多行字符串,可以使用"$"符号进行字符串插值。

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!"
VB   C#

我们使用字符串插值将 age 变量的值包含在多行字符串中。

将多行字符串转换为单行字符串

有时,您可能需要将多行字符串转换为单行字符串。 为此,您可以使用 "替换 "方法将换行符替换为空格或任何其他所需字符。

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, " ")
VB   C#

我们用空格替换了多行字符串中的换行符,从而得到一个单行字符串。

处理长字符串

有时,很长的字符串在代码中很难读懂。 为使代码更具可读性,您可以使用 "+"运算符将长字符串拆分成多行。

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
VB   C#

我们将长长的单行字符串拆分成三个部分,然后使用 "+"运算符将它们连接起来,使代码更加易读。

使用原始字符串字面量创建多行字符串字面量

在 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."""
VB   C#

我们使用原始字符串文字创建了一个多行字符串。 注意使用三层引号来括弧字符串。

原始字符串字面中的转义字符

与逐字字符串类似,我们可能需要在原始字符串字面中加入双引号。 为此,我们可以使用双引号。 例如

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."""
VB   C#

我们使用双引号将双引号包含在原始字符串字面中。

逐字翻译与原始字符串字面翻译相结合

在某些情况下,我们可能需要结合逐字翻译和原始字符串字面翻译的特点。 这可以通过使用"@"符号和三层引号来实现。

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."""
VB   C#

在本例中,我们使用逐字和原始字符串字面形式创建了一个多行字符串。 请注意"@"符号和三层引号的使用。

在 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>";
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
VB   C#

// 创建一个新的 PDF 文档

var pdfDocument = new IronPDF.ChromePdfRenderer();

pdfDocument.RenderHtmlAsPdf(内容).SaveAs("c://BioData.pdf");

下面是代码的实际效果:

Csharp Multiline String 1 related to 在 IronPDF 中使用多行字符串生成 PDF 文件

在本例中,我们使用字符串插值法将姓名和年龄变量包含在多行字符串中,从而使 PDF 内容具有动态性和可定制性。 我们创建了一个多行字符串,其中包含我们希望在 PDF 中出现的内容。 然后,我们实例化了 IronPDF 命名空间中的 ChromePdfRenderer 类,并使用 RenderHtmlAsPdf 方法将多行字符串内容转换为 PDF 文档。 最后,我们将 PDF 文档保存为一个名为 "BioData.pdf "的文件。

结论

以上就是对多行字符串多变世界的简要介绍。 现在,您已经是多行字符串 C# 专家了,可以开始在您的项目中实施它们--比如上面 IronPDF 的例子。

想要获得 IronPDF? 您可以从我们的30 天免费试用 IronPDF. 它还可以完全免费用于开发目的,因此您可以真正领略到它的魅力。 如果您喜欢,IronPDF 起价低至IronPDF 授权费 749 美元. 如需更多优惠,请查看Iron Suite 软件包在这里,您可以用两个工具的价格获得所有九个 Iron Software 工具。 快乐编程!

Csharp Multiline String 2 related to 结论

< 前一页
什么是 Visual C++ 可再发行组件
下一步 >
C# If(它如何为开发人员工作)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >