如何让C# 11原始字符串字面量使用 而非 换行?
C# 11 原始字符串字面量生成CRLF换行的方法
默认情况下,C# 11的原始字符串字面量会原样保留代码文件中的换行符。如果你的代码文件使用LF换行,生成的字符串自然就是LF;要得到CRLF换行的字符串,可以用以下几种方式:
1. 手动插入\r\n(适用于常量字符串)
如果需要声明const字符串,直接在内容中手动添加\r\n代替代码中的换行:
const string text = """ "header1";"header2"\r\n"value1";"value2"\r\n """;
这样生成的字符串就是:"header1";"header2"\r\n"value1";"value2"\r\n
2. 替换默认换行符(适用于非常量字符串)
如果不需要const修饰,可以直接用String.Replace将默认换行符替换为CRLF:
string text = """ "header1";"header2" "value1";"value2" """.Replace(Environment.NewLine, "\r\n");
这种方式更灵活,不受代码文件换行格式的影响,能确保最终生成的是CRLF换行。
3. 固定代码文件换行格式
如果开发环境固定,可以将代码文件的换行格式设置为CRLF(Windows默认格式),这样原始字符串会自动保留CRLF换行。不过这种方式依赖文件设置,跨环境协作时稳定性不足。
内容的提问来源于stack exchange,提问作者Bizhan
相关产品推荐
相关产品推荐

