为什么从我的逐字字符串中删除换行只返回最后一行?

Dan*_*iel 3 c# string verbatim-string

我有以下代码:

string test = @"1
2
3";
Run Code Online (Sandbox Code Playgroud)

这一行:

Console.WriteLine(test.Replace("\n", "")); //3
Run Code Online (Sandbox Code Playgroud)

打印"3",而不是"123",这是我的预期.为什么这个方法只返回我的字符串的最后一行,我怎么能删除所有新行呢?

Zbi*_*iew 6

Console.WriteLine(test.Replace("\n", ""));为我返回所有数字.在处理换行符时,您必须知道换行符可能是\r\n,它取决于平台.在这种情况下,你应该使用这个:

test.Replace("\r\n", "")
// or better:
test.Replace(Environment.NewLine, "")
Run Code Online (Sandbox Code Playgroud)

Refrer 与"\n"和Environment.NewLine之间的区别