2010-01-28 4 views

Antwort

39
StringBuilder sb = new StringBuilder(); 
sb.Append("Line 1"); 
sb.Append(System.Environment.NewLine); //Change line 
sb.Append("\t"); //Add tabulation 
sb.Append("Line 2"); 
using (StreamWriter sw = new StreamWriter("example.txt")) 
{ 
    sw.Write(sb.ToString()); 
} 

tun können Sie detaillierte documentation auf TAB (und andere Escape-Zeichen hier) finden.

+16

Anstelle von 'sb.Append (System.Environment.NewLine);' kann '' sb.AppendLine(); ' – vkrzv

+0

verwendet werden Danke für den Kommentar. Sie haben Recht, viele Möglichkeiten sind möglich, die gleiche Aufgabe zu erledigen. Gute Arbeit in diesem. –

+3

Ist diese Plattform unabhängig? Zum Beispiel ist Environment.Newline plattformunabhängig, während "\ n" nicht ist. – Steam

3
sb.Append(Environment.Newline); 
sb.Append("\t"); 
2
sb.AppendLine(); 

oder

sb.Append("\n"); 

Und

sb.Append("\t"); 
+0

Und das wichtigste fehlt. 'System.Environment.NewLine' ist ein ** must-know ** nachdem Sie diese Seite verlassen haben. – Bitterblue

12

Verwendung:

sb.AppendLine(); 
sb.Append("\t"); 

für eine bessere Portabilität. Environment.NewLine muss nicht unbedingt \n sein; Windows verwendet zum Beispiel \r\n.

+2

Tatsächlich verwendet Windows '\ r \ n' (Wagenrücklauf + Zeilenvorschub). – Joshua

+0

Whoops. Danke Joshua; Fest. –

+0

Ist diese Plattform unabhängig? Zum Beispiel ist Environment.Newline plattformunabhängig, während "\ n" nicht ist. – Steam

3

Es hängt davon ab, ob Sie '\ n' (Zeilenvorschub) oder '\ r \ n' (Wagenrücklauf + Zeilenvorschub) meinen. Ersteres ist nicht der Windows-Standard und wird in einigen Texteditoren (wie Notepad) nicht richtig angezeigt.

Sie können

sb.Append(Environment.NewLine); 
sb.Append("\t"); 

oder

sb.Append("\r\n\t"); 
0
StringBuilder SqlScript = new StringBuilder(); 

    foreach (var file in lstScripts) 
    { 
     var input = File.ReadAllText(file.FilePath); 
     SqlScript.AppendFormat(input, Environment.NewLine); 
    } 

http://afzal-gujrat.blogspot.com/