在 C# 中执行基本字符串格式设置

介绍

  • 1 分钟

作为一名软件开发人员,你需要编写 C# 代码来合并文本和变量数据并设置其格式,以创建一个新值。 该值可能会显示、保存到文件,也可能通过网络发送。 幸运的是,C# 提供了许多方法来合并数据和设置其格式。

假设你需要显示正在编写的命令行应用程序的输出。 你需要显示的值包括文字文本、变量中的文本、数字数据和其他语言中的文本数据。 那么要如何正确设置其格式,以便用户能够理解你的应用程序要传达给他们的含义?

在此模块中,你将使用字符转义序列来设置文本字符串的格式,使其包含制表符和换行符等特殊字符,甚至是包含来自日文汉字或西里尔字母等其他语言的字符! 你将学习如何将两个字符串连接在一起,还将通过字符串内插创建包含可替换部分的文本字符串模板。

到本模块结束时,你将能够控制如何向应用程序的最终用户显示你的数据。

学习目标

通过学习本模块,你将能够:

  • 创建包含制表符、换行符和其他特殊字符的字符串数据
  • 创建包含 Unicode 字符的字符串数据
  • 通过串联将字符串数据合并为新的字符串值
  • 通过内插将字符串数据合并为新的字符串值

先决条件:

  • 在使用 Console.WriteLine() 和 Console.Write() 方法在控制台中显示消息方面具备初级水平经验。
  • 在数据类型、声明、初始化、设置和从变量中检索值这些方面具备初级水平经验。

什么是字符串内插?

字符串内插通过使用“模板”和一个/多个内插表达式将多个值合并为单个文本字符串。 内插表达式是一个变量,由一个左大括号和一个右大括号符号 { } 括起来。 当文本字符串以 $ 字符为前缀时,该字符串将变为模板。

换句话说,不是编写以下代码行:

C#

string message = greeting + " " + firstName + "!";

而是可以将此代码行编写得更简洁:

C#

string message = #34;{greeting} {firstName}!";

在这个简单的示例中,你省去了几个按键。 你可以想象,在更复杂的操作中,字符串内插会简洁得多。 此外,很多人发现字符串内插语法更简洁、更易于阅读。

在下面的练习中,我们将使用字符串串联重写上述消息。

步骤 1:删除代码编辑器中的所有代码。

使用鼠标突出显示代码编辑器中的所有文本,然后选择 backspace 或del 键删除所有内容。

步骤 2:使用字符串内插将文本字符串和变量值合并在一起。

若要将两个字符串内插在一起,请创建一个文本字符串,并在字符串前面加上 $ 符号。 文本字符串应包含至少一组大括号 {},且你会在这些字符内使用变量的名称。

将以下代码添加到代码窗口中:

C#

string firstName = "Bob";
string message = #34;Hello {firstName}!";
Console.WriteLine(message);

现在,运行代码。 你将在输出控制台中看到以下结果:

输出

Hello Bob!

步骤 3:将字符串内插与多个变量和文本字符串一起使用。

你可以在同一行代码中执行多个内插操作。

将步骤 2 中编写的代码修改成以下代码:

C#

string firstName = "Bob";
string greeting = "Hello";
string message = #34;{greeting} {firstName}!";
Console.WriteLine(message);

现在,运行代码。 你将在输出控制台中看到以下结果:

输出

Hello Bob!

步骤 4:避免中间变量。

正如在上一个练习中操作的那样,我们可以消除用来存储消息的临时变量。

将第 3 步中编写的代码修改成以下代码:

C#

string firstName = "Bob";
string greeting = "Hello";
Console.WriteLine(#34;{greeting} {firstName}!");

现在,运行代码。 输出控制台中的结果应该相同,但是我们简化了代码:

输出

Hello Bob!

步骤 5:合并逐字文本和字符串内插。

假设你需要在模板中使用逐字文本。 可以同时使用逐字文本前缀符号 @ 和字符串内插 $ 符号。

删除上述步骤中的代码,然后在 .NET 编辑器中键入以下代码。

C#

string projectName = "First-Project";
Console.WriteLine([email protected]"C:\Output\{projectName}\Data");

现在运行代码,你应会看到以下结果。

输出

C:\Output\First-Project\Data

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注