Jak dołączyć znak nowej linii (\ n \ r) StringBuilder
?
c#
stringbuilder
user274364
źródło
źródło
Odpowiedzi:
Skorzystałbym z właściwości Environment.NewLine .
Coś jak:
StringBuilder sb = new StringBuilder(); sb.AppendFormat("Foo{0}Bar", Environment.NewLine); string s = sb.ToString();
Lub
StringBuilder sb = new StringBuilder(); sb.Append("Foo"); sb.Append("Foo2"); sb.Append(Environment.NewLine); sb.Append("Bar"); string s = sb.ToString();
Jeśli chcesz mieć nową linię po każdym dodaniu, możesz spojrzeć na odpowiedź Bena Voigta .
źródło
AppendLine
na StreamWriter, wtedy wstawi sekwencję nowej linii odpowiednią dla tego konkretnego,StreamWriter
a nie tylkoEnvironment.NewLine
. Na przykład, jeśli otworzysz strumień powiązany z połączeniem SMTP, możesz ustawić jegoNewLine
właściwość na „\ r \ n”, a wtedy otrzymasz poprawne uzgadnianie SMTP nawet w systemie Unix.Za pomocą metody AppendLine .
َََ
źródło
Ponadto przy użyciu metody StringBuilder.AppendLine .
źródło
\n
Zamiast tego zostanie dołączony do systemu Linux\r\n
.źródło
Użyj wbudowanych funkcji dołączania linii StringBuildera:
StringBuilder sb = new StringBuilder(); sb.AppendLine("First line"); sb.AppendLine("Second line"); sb.AppendLine("Third line");
Wynik
źródło
StringBuilder sb = new StringBuilder();
Możesz użyć sb.AppendLine () lub sb.Append (Environment.NewLine) ;
źródło
W przypadku wielu wierszy najlepszym sposobem jest zrobienie tego:
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);
W ten sposób nie musisz zaśmiecać ekranu wielokrotnym powtarzaniem Environment.NewLine lub AppendLine (). Będzie też mniej podatny na błędy niż konieczność pamiętania o ich wpisaniu.
źródło
Po prostu utwórz rozszerzenie dla klasy 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
źródło