Bagaimana Anda menambahkan karakter baris (\ n \ r) baru StringBuilder
?
c#
stringbuilder
pengguna274364
sumber
sumber
Jawaban:
Saya akan menggunakan properti Environment.NewLine .
Sesuatu seperti:
StringBuilder sb = new StringBuilder(); sb.AppendFormat("Foo{0}Bar", Environment.NewLine); string s = sb.ToString();
Atau
StringBuilder sb = new StringBuilder(); sb.Append("Foo"); sb.Append("Foo2"); sb.Append(Environment.NewLine); sb.Append("Bar"); string s = sb.ToString();
Jika Anda ingin memiliki baris baru setelah setiap penambahan, Anda dapat melihat jawaban Ben Voigt .
sumber
AppendLine
pada StreamWriter, maka itu akan memasukkan urutan baris baru yang sesuai untuk ituStreamWriter
dan bukan hanyaEnvironment.NewLine
. Misalnya, jika Anda membuka aliran yang terkait dengan koneksi SMTP, Anda dapat menyetelNewLine
propertinya ke "\ r \ n" dan kemudian Anda akan mendapatkan jabat tangan SMTP yang valid bahkan di Unix.Dengan metode AppendLine .
َََ
sumber
Juga, menggunakan metode StringBuilder.AppendLine .
sumber
Ini akan ditambahkan
\n
di Linux sebagai gantinya\r\n
.sumber
Gunakan fungsi bawaan baris tambahan StringBuilder:
StringBuilder sb = new StringBuilder(); sb.AppendLine("First line"); sb.AppendLine("Second line"); sb.AppendLine("Third line");
Keluaran
sumber
StringBuilder sb = new StringBuilder();
Anda dapat menggunakan sb.AppendLine () atau sb.Append (Environment.NewLine) ;
sumber
Untuk beberapa baris, cara terbaik yang saya temukan adalah melakukan ini:
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);
Dengan cara ini Anda tidak perlu mengacaukan layar dengan Environment.NewLine atau AppendLine () diulang beberapa kali. Ini juga akan lebih sedikit rawan kesalahan daripada harus mengingat untuk mengetiknya.
sumber
Buat saja ekstensi untuk kelas 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
sumber