StringBuilder
に改行(\ n\r)文字を追加するにはどうすればよいですか?
Environment.NewLine Property を使用します
何かのようなもの
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の回答をご覧ください。
また、 StringBuilder.AppendLine メソッドを使用します。
Linuxでは\n
の代わりに\r\n
が追加されます。
String Builder Append Line組み込み関数を使用する
StringBuilder sb = new StringBuilder();
sb.AppendLine("first line ");
sb.AppendLine("Second line ");
sb.AppendLine("third line ");
出力
1行目2行目3行目
StringBuilder sb = new StringBuilder();
sb.AppendLine()またはsb.Append(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()を複数回繰り返して画面を乱雑にする必要はありません。また、入力するのを忘れないようにするよりもエラーが発生しにくくなります。
Stringbuilderクラスの拡張を作成しないのはなぜですか?
Public Module Extensions
<Extension()>
Public Sub AppendFormatWithNewLine(ByRef sb As System.Text.StringBuilder, ByVal format As String, ParamArray values() As Object)
sb.AppendLine(String.Format(format, values))
End Sub
End Module