C# 中的转义序列

2024 年 8 月 29 日 | 4 分钟阅读

引言

转义序列是任何编程语言(包括 C#)的重要功能。它们允许程序员表示一些难以在键盘上输入或在语言本身中具有特殊含义的字符。在本文中,我们将讨论 C# 中的转义序列及其用法。

用来表示一系列字符的各种特殊字符组合称为转义序列。在 C# 中,转义序列以反斜杠 (/) 字符开头,后跟一个或多个指定所需特殊字符或序列的其他字符。下面描述了一些通用的转义序列。

\n - 表示一个新行字符

\t - 表示一个水平制表符

\r - 表示一个回车符

\b - 表示一个退格符

\a - 表示一个响铃符

\f - 表示一个换页符

\v - 表示一个垂直制表符

' - 表示一个单引号字符

" - 表示一个双引号字符

\xhh - 表示一个具有指定十六进制值 hh 的 Unicode 字符

\uhhhh - 表示一个具有指定十六进制值 hhhh 的 Unicode 字符

\Uhhhhhhhh - 表示一个具有指定十六进制值 hhhhhhhh 的 Unicode 字符

让我们仔细看看其中一些转义序列及其用法。

\n 转义序列用于表示一个新行字符。下面提到的示例将在控制台上打印两行。

C# 代码

此代码的输出将如下所示:

Hello, Jtp!
Goodbye, Jaipur!

\t 转义序列用于表示一个水平制表符。例如,以下代码将向控制台打印一个值表。

C# 代码

输出

Name    Age     Gender
John    25      Male
Jane    32      Female

\xhh 转义序列用于表示一个具有指定十六进制值 hhUnicode 字符。下面的代码将用于将符号(€) 打印到控制台。

C# 代码

此代码的输出将是:

输出

为了在字符串中表示特殊字符,我们可以使用转义序列。例如,以下代码将创建一个包含制表符的字符串变量。

C# 代码

转义序列还可用于表示无法在键盘上输入的字符。例如,以下代码将创建一个包含响铃字符的字符串变量。

C# 代码

当此字符串打印到控制台时,它将发出声音。

转义序列还可用于表示 C# 语言本身中具有特殊含义的字符。例如,以下代码将创建一个包含双引号字符的字符串变量。

C# 代码

转义序列还可以在各种其他上下文中得到使用。例如,它们可以在正则表达式中使用来表示特殊字符。它们也可以在 XMLHTML 文档中使用,以在文本中表示特殊字符。

除了上面列出的内置转义序列之外,C# 还支持创建自定义转义序列的能力。这是通过使用逐字字符串字面量语法完成的。逐字字符串字面量是通过在字符串字面量前加上 @ 符号来创建的。在 C# 的逐字字符串字面量中,反斜杠被视为常规字符,而不是转义字符。这意味着反斜杠不会用于转义字符串中的任何字符,而是用于表示实际的反斜杠字符本身。

例如,如果我们想将字符串 "C:\MyFolder" 表示为逐字字符串,我们可以使用以下代码。

在这种情况下,反斜杠被视为常规字符,而不是用于转义字符串中的任何其他字符。这使得表示包含大量反斜杠的文件路径、正则表达式和其他字符串变得更加容易。

需要注意的是,逐字字符串字面量必须用 @"" 引用括起来,并且不能在字符串本身中包含未转义的引号字符。如果需要在逐字字符串中包含引号字符,可以使用连续两个引号字符,如下所示。

在此示例中,连续的两个引号字符用于表示逐字字符串中的单个引号字符。


下一主题NHibernate C#