如何在.NET中替换Linux NewLine中的NewLine

Fer*_*ndo 4 .net c# newline line-breaks

我在.NET中定义了一个字符串,如下所示:

var str = @"line 1
line 2
line 3";
Run Code Online (Sandbox Code Playgroud)

我想替换Linux等效的Windows换行符.(\r\n仅替换\n).

我试过var str2 = str.replace(Environment.NewLine, "\n");但结果是完全相同的字符串(str == str2是真的).

我猜Windows会替换\n为字符串\r\n,实际上没有任何改变.

我试过var str2 = str.replace(Environment.NewLine, '\n');但是给出了编译错误,因为一个参数是一个字符串而另一个是char.

我甚至试过var str2 = str.replace(Environment.NewLine, '\n'.ToString());但是那也没用.

想法?

dee*_*see 5

strstr2替换后等于因为原始字符串不包含\r\n在第一位.

看到这个小提琴.

多行字符串使用\n.