2010-01-28 12 views
25
StringBuilder sb = new StringBuilder(); 
sb.Append("Line 1"); 
//insert new line character 
//insert tab character 
sb.Append("Line 2"); 
using (StreamWriter sw = new StreamWriter("example.txt")) 
{ 
    sq.Write(sb.ToString()); 
} 

Jak wstawić znak nowej linii i tabulatora w tym przykładzie?C#: Nowe znaki linii i tabulatorów w ciągach znaków

Odpowiedz

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()); 
} 

można znaleźć szczegółowe documentation zakładkę (i inny znak ucieczki tutaj).

+16

Zamiast 'sb.Append (System.Environment.NewLine);' można użyć 'sb.AppendLine();' – vkrzv

+0

Dzięki za komentarz. Masz rację, na wiele sposobów można wykonać to samo zadanie. Dobra robota na tym. –

+3

Czy ta platforma jest niezależna? na przykład Environment.Newline jest niezależny od platformy, a "\ n" nie. – Steam

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

lub

sb.Append("\n"); 

I

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

I najważniejsza brakuje. 'System.Environment.NewLine' jest ** must-know ** po opuszczeniu tej strony. – Bitterblue

12

Zastosowanie:

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

dla lepszego przenoszenia. Environment.NewLine niekoniecznie musi być \n; Windows używa na przykład \r\n.

+2

W rzeczywistości Windows używa '\ r \ n' (carriage return + linefeed). – Joshua

+0

Whoops. Dzięki Joshua; naprawiony. –

+0

Czy ta platforma jest niezależna? na przykład Environment.Newline jest niezależny od platformy, a "\ n" nie. – Steam

3

To zależy od tego, czy masz na myśli "\ n" (linefeed), czy "\ r \ n" (powrót karetki + powrót do linii). Ten pierwszy nie jest domyślnym systemem Windows i nie będzie poprawnie wyświetlany w niektórych edytorach tekstu (takich jak Notatnik).

Można zrobić

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

lub

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/

Powiązane problemy