在 C# 中,如何使 $““ 字符串支持换行

在 C# 中,如何使 $"" 字符串支持换行

在 C# 中,使用 $"" 字符串(字符串插值)时支持换行有几种方式:

1. 直接换行(自动拼接)

csharp 复制代码
string message = $"Hello, {name}!" +
                $"This is a multi-line " +
                $"string with interpolation.";

2. 使用 @ 符号(逐字字符串)

csharp 复制代码
string message = $@"Hello, {name}!
This is a multi-line string
with interpolation and line breaks.";

3. 组合使用 @或@@ 或 @@或@

csharp 复制代码
// 两种写法都可以
string message1 = $@"Line 1: {variable1}
Line 2: {variable2}";

string message2 = @$"Line 1: {variable1}
Line 2: {variable2}";

4. 使用 StringBuilder 或环境换行符

csharp 复制代码
string message = $"Line 1: {variable1}{Environment.NewLine}" +
                 $"Line 2: {variable2}";

// 或者使用 \r\n
string message = $"Line 1: {variable1}\r\n" +
                 $"Line 2: {variable2}";

示例代码

csharp 复制代码
string name = "张三";
int age = 25;

// 方法1:直接换行
string message1 = $"姓名: {name}" +
                  $"年龄: {age}";

// 方法2:使用逐字字符串
string message2 = $@"姓名: {name}
年龄: {age}
这是多行文本";

// 方法3:环境换行符
string message3 = $"姓名: {name}{Environment.NewLine}年龄: {age}";

Console.WriteLine(message2);

输出结果:

复制代码
姓名: 张三
年龄: 25
这是多行文本

注意事项

  • $@ 和 @$ 是等价的,推荐使用 $@(更常见)
  • 逐字字符串会保留所有空白字符,包括换行和缩进
  • 如果需要在字符串中包含引号,使用两个引号 "" 来转义

选择哪种方式取决于你的具体需求和个人编码风格偏好。

相关推荐
曹牧10 小时前
C#:输入的字符串格式不正确
c#
根号五15 小时前
JetBrains Rider 使用教程(1)新建解决方案
c#·jetbrains rider
海天鹰16 小时前
C#:接收从打开方式打开的参数
c#
宝桥南山16 小时前
.NET 11 - 尝试一下Minimal API中的异步验证新特性
microsoft·微软·c#·asp.net·.net·.netcore
开开心心_Every17 小时前
文件查重软件批量删除重复文件释放空间
java·开发语言·c#·计算机外设·ocr·excel·perl
波力海苔夹心脆67517 小时前
VisionPro 与 VisionMaster 对比(上):软件定位、开发环境与核心视觉工具对照
图像处理·算法·计算机视觉·c#·视觉检测·个人开发·vp9
疯狂戴夫冒险18 小时前
歇一会 · 久坐休息提醒工具(番茄钟)工具分享
c#
...62219 小时前
VisionMaster 测量模块工具
c#·visionmaster
samble1 天前
从零搭建灌装监控系统(十九):单元测试实战,xUnit + 内存SQLite + 反射测试私有方法
c#·wpf·mvvm·modbus·工业控制
人道领域2 天前
【面试八股速通篇01】锁与并发工具
java·开发语言·面试·c#