Comment ajouter un caractère de nouvelle ligne (\ n \ r) StringBuilder
?
Comment ajouter un caractère de nouvelle ligne (\ n \ r) StringBuilder
?
Réponses:
J'utiliserais la propriété Environment.NewLine .
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();
Si vous souhaitez avoir une nouvelle ligne après chaque ajout, vous pouvez jeter un œil à la réponse de Ben Voigt .
AppendLine
sur un StreamWriter, alors il insérera la séquence de nouvelle ligne appropriée pour ce particulier StreamWriter
et pas simplement Environment.NewLine
. Par exemple, si vous ouvrez un flux lié à une connexion SMTP, vous pouvez définir sa NewLine
propriété sur "\ r \ n" et vous obtiendrez une prise de contact SMTP valide même sous Unix.
Avec la méthode AppendLine .
َََ
En outre, à l'aide de la méthode StringBuilder.AppendLine .
Il s'ajoutera \n
à la place sous Linux \r\n
.
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 faire ceci:
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 le Environment.NewLine ou AppendLine () répété plusieurs fois. Ce sera également moins sujet aux erreurs que de devoir se souvenir de les saisir.
Créez simplement 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