在stringbuilder中的换行符

如何在StringBuilder添加新行(\ n \ r)字符?

我会利用Environment.NewLine属性

就像是

 StringBuilder sb = new StringBuilder(); sb.AppendFormat("Foo{0}Bar", Environment.NewLine); string s = sb.ToString(); 

要么

 StringBuilder sb = new StringBuilder(); sb.Append("Foo"); sb.Append("Foo2"); sb.Append(Environment.NewLine); sb.Append("Bar"); string s = sb.ToString(); 

编辑:

如果你想在每次追加后都有新的一行,你可以看看@Ben Voigt的答案。

用AppendLine方法

还使用StringBuilder.AppendLine方法。

它将在Linux中追加\n而不是\r\n

另外这项工作

 sb.Append(string.Format("Foo{0}Bar", Environment.NewLine)); 

对于多行,我发现最好的办法是做到这一点:

  IEnumerable<string> lines = new List<string> { string.Format("{{ line with formatting... {0} }}", id), "line 2", "line 3" }; StringBuilder sb = new StringBuilder(); foreach(var line in lines) sb.AppendLine(line); 

通过这种方式,您不必混淆Environment.NewLine或AppendLine()多次重复的屏幕。 它也会比不必记住input它们更容易出错。

使用string生成器附加行内置function

 StringBuilder sb = new StringBuilder(); sb.AppendLine("first line "); sb.AppendLine("Second line "); sb.AppendLine("third line "); 

产量

一线二线三线

这是我用的,

 StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("Some string 1" + "\n"); stringBuilder.Append("Some string 2" + "\n");