Comment ajoutez-vous un nouveau caractère de ligne (\ n\r) dans StringBuilder
?
Je voudrais utiliser Environment.NewLine Property
Quelque chose comme
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Foo{0}Bar", Environment.NewLine);
string s = sb.ToString();
Ou
StringBuilder sb = new StringBuilder();
sb.Append("Foo");
sb.Append("Foo2");
sb.Append(Environment.NewLine);
sb.Append("Bar");
string s = sb.ToString();
EDIT:
Si vous souhaitez avoir une nouvelle ligne après chaque ajout, vous pouvez regarder @ Ben Voigt répondre.
aussi, en utilisant la méthode StringBuilder.AppendLine .
Il va annexer \n
sous Linux à la place \r\n
.
Utiliser le constructeur de chaînes ajouter des fonctions intégrées à la ligne
StringBuilder sb = new StringBuilder();
sb.AppendLine("first line ");
sb.AppendLine("Second line ");
sb.AppendLine("third line ");
sortie
première ligne deuxième ligne troisième ligne
StringBuilder sb = new StringBuilder();
Vous pouvez utiliser sb.AppendLine () ou sb.Append (Environment.NewLine);
Pour plusieurs lignes, le meilleur moyen que je trouve est de procéder ainsi:
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);
De cette façon, vous n'avez pas à encombrer l'écran avec Environment.NewLine ou AppendLine () répété plusieurs fois. Il sera également moins sujet aux erreurs que d'avoir à se souvenir de les taper.
Pourquoi ne pas simplement créer une extension pour la classe 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