如何定义原始字符串文字,其中代码中的换行符只是为了可读性,并且结果字符串中没有换行符(
\r
,\n
)?
类似这样的:
string str =
"""
first line;
also first line
""";
应该导致
"first line;also first line"
。
到目前为止,这就是我想出的,但它非常丑陋:
str =
$"""
first line;{""
}also first line
""";
至少比以下内容更简洁:
str =
"""
first line;
""" +
"""
also first line
""";
一位流行的 LLM 告诉我,在 C# 中,我可以在原始字符串文字的行尾使用
\
来防止换行符,但这似乎不起作用,因为反斜杠刚刚得到按字面意思对待。
public static class StringExtensions
{
public static string WithoutNewlines(this string input)
{
return input.Replace("\n", "").Replace("\r", "");
}
}
public static void Main()
{
string str =
"""
first line;
also first line
""".WithoutNewlines();
Console.WriteLine(str);
}