Was ist der Unterschied zwischen zwei, falls vorhanden (in Bezug auf .Net)?
c#
.net
cross-platform
Prerak K.
quelle
quelle
Environment.NewLine
wird\r\n
aber\n
auch "New Line" genannt. Warum haben sie letztere nicht einfach bei ihrem bekannteren Namen "Zeilenvorschub" genannt und die Verwirrung beseitigt? Sie hätten auch gebrauchen können\l
.Genaue Implementierung
Environment.NewLine
aus dem Quellcode:Die Implementierung in .NET 4.6.1:
Quelle
Die Implementierung in .NET Core:
Quelle (in
System.Private.CoreLib
)Quelle (in
System.Runtime.Extensions
)quelle
Gibt, wie andere bereits erwähnt haben,
Environment.NewLine
eine plattformspezifische Zeichenfolge zum Beginnen einer neuen Zeile zurück. Dies sollte sein:"\r\n"
(\ u000D \ u000A) für Windows"\n"
(\ u000A) für Unix"\r"
(\ u000D) für Mac (falls eine solche Implementierung vorhanden war)Beachten Sie, dass beim Schreiben in die Konsole Environment.NewLine nicht unbedingt erforderlich ist. Der Konsolen-Stream wird
"\n"
bei Bedarf in die entsprechende neue Zeilenfolge übersetzt .quelle
\n
Environment.NewLine
gibt das Zeilenumbruchzeichen für die entsprechende Plattform zurück, auf der Ihr Code ausgeführt wirdSie werden dies sehr nützlich finden, wenn Sie Ihren Code unter Linux im Mono- Framework bereitstellen
quelle
Aus den Dokumenten ...
quelle
Environment.NewLine gibt unter Windows "\ r \ n" aus. Wenn Sie Zeichenfolgen für Unix-basierte Umgebungen generieren, möchten Sie kein "\ r".
quelle
Sie könnten Probleme bekommen, wenn Sie versuchen, mehrzeilige Nachrichten anzuzeigen, die durch "\ r \ n" getrennt sind.
Es ist immer eine gute Praxis, Dinge auf normale Weise zu tun und Environment.NewLine zu verwenden
quelle