在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");