如何定义无换行符的C#多行原始字符串字面量?
在C#中实现无换行的多行原始字符串字面量
要实现代码换行提升可读性,但最终生成的字符串不含\r、\n这类换行符,有几种更简洁的写法:
方法1:利用空插值表达式
在多行原始字符串的换行位置插入空的插值表达式{},代码里的换行不会被保留到最终字符串中:
string str = $""" first line;{ }also first line """;
这种写法比你之前用{""}的方式更简洁,最终会得到"first line;also first line"。
方法2:统一移除换行符
如果需要处理较多行内容,可以先按可读性要求写多行原始字符串,再统一移除所有换行符:
string str = """ first line; also first line """.Replace("\r\n", "").Replace("\n", "");
这种方式不需要在每一行末尾添加插值表达式,但注意如果字符串中原本需要保留换行的场景不适用。
关于行末加\的误区
C#的原始字符串字面量不支持用反斜杠\来续行,反斜杠会被直接当作字符串的一部分,所以大语言模型的这个说法是错误的。
内容的提问来源于stack exchange,提问作者user764754
相关产品推荐
相关产品推荐

