.NET "Standard-line terminator"?
Gibt es eine Möglichkeit, herauszufinden, was .NET ist die Verwendung als "Standard-line terminator"? Zum Beispiel Dokumentation für die Klasse StringBuilder.AppendLine(String), sagt es "Fügt eine Kopie der angegebenen Zeichenfolge, gefolgt von der Standard-line terminator...". Mehrere text-verwandten Klassen im .NET beziehen sich auf das gleiche Konzept.
Gibt es eine Möglichkeit, programmatisch herauszufinden, was benutzt wird, als der line terminator (zur Laufzeit)? Oder ist es sicher davon ausgehen, dass es immer "\r\n" für eine Windows-Maschine? Ich möchte lieber nicht " hard-code, Wert in meinem code, wenn ich es vermeiden kann.
Du musst angemeldet sein, um einen Kommentar abzugeben.
StringBuilder.AppendLine
verwenden- Umgebung.NewLine
, die "\r\n
" für nicht-Unix-Plattformen und "\n
" für Unix-Plattformen.Wird es immer sein "
\r\n
" für eine Windows-Maschine, aber Sie könnenEnvironment.NewLine
anstelle eines fest codierten Wert.Dank @Guffa, die für die überprüfung dieser
Dies ist der code aus der
StringBuilder.AppendLine(string)
Methode (mithilfe .NET Reflector):Wie Sie sehen, es ist in der Tat mit der
Environment.NewLine
Eigenschaft.Auf dem Mac, das war newline '\r' ist, bis Sie Ihre OS auf linux. Jetzt seine '\n'.