StringBuilder ToString注入\ n \ r \ n

时间:2013-02-27 20:01:14

标签: .net newline stringbuilder

当我执行此.Net代码时:

   var builder = new StringBuilder();
   builder.AppendLine("Line One");
   builder.AppendLine("Line Two");
   var result = builder.ToString();

结果的值是字面意思:

"Line One\r\nLine Two\r\n"

为什么.ToString()将换行符转换为“\ r \ n”文本,是否有办法防止这种情况并让字符串实际上有真实(隐藏)的换行符?

1 个答案:

答案 0 :(得分:2)

在调试器中,它显示'转义字符',它是回车符号新行标准windows eol字符串。如果你打印出来说出命令行或文件。你会得到一个真正的新线。所有转义字符都以c#中的'\'开头。所以\ r \ n,\ r是回车符,\ n是换行符或换行符。 http://en.wikipedia.org/wiki/Newline

还要在c#

中正确编码
   StringBuilder builder = new StringBuilder();
   builder.AppendLine("Line One");
   builder.AppendLine("Line Two");
   String result = builder.ToString();

这也是写同一件事的另一种方式

String result = "Line One\r\nLine Two\r\n";