介绍
- 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