插入LineFeed而不是CRLF

时间:2012-08-14 14:47:22

标签: c#

使用StringBuilder并在我的字符串中我使用的是Environment.NewLine,当我打开它时显示为CRLF,C#中是否有另一个命令输出显示为“LF”而不是“CRLF”?

3 个答案:

答案 0 :(得分:20)

简单写一下

sb.Append((char)10);

或更具可读性

sb.Append('\n');

更具可读性

const char LF = '\n';
sb.Append(LF);

答案 1 :(得分:11)

Environment.NewLine仅存在于类似Windows的行结尾(\r\n)和Unix风格的行结尾(\n)之间的差异,因此在编写文本文件等时不得不打扰使用哪一个(想象一下你在Linux上使用Mono运行,那么你只需要\nEnvironment. NewLine将包含它,因为它是由运行时设置的。)

因此,当您始终知道并且只需要换行符时,只需在代码中添加\n即可。它不会改变。

答案 2 :(得分:6)

使用转义字符'\ n'而不是Environment.Newline

有关转义字符列表,请参阅http://msdn.microsoft.com/en-us/library/h21280bw.aspx,有关Environment.Newline,请参阅http://msdn.microsoft.com/fr-fr/library/system.environment.newline.aspx