Apa perbedaan antara keduanya, jika ada (berkenaan dengan .Net)?
c#
.net
cross-platform
Prerak K
sumber
sumber
Environment.NewLine
adalah\r\n
tetapi\n
juga disebut "baris baru". Mengapa mereka tidak memanggil yang terakhir dengan nama yang lebih dikenal sebagai "umpan garis" dan memotong kebingungan? Mereka bisa menggunakannya\l
juga.Implementasi yang tepat dari
Environment.NewLine
dari kode sumber:Implementasi di .NET 4.6.1:
sumber
Implementasi dalam .NET Core:
sumber (dalam
System.Private.CoreLib
)sumber (dalam
System.Runtime.Extensions
)sumber
Seperti yang disebutkan orang lain,
Environment.NewLine
mengembalikan string khusus platform untuk memulai baris baru, yang seharusnya:"\r\n"
(\ u000D \ u000A) untuk Windows"\n"
(\ u000A) untuk Unix"\r"
(\ u000D) untuk Mac (jika implementasi seperti itu ada)Perhatikan bahwa saat menulis ke konsol, Environment.NewLine tidak sepenuhnya diperlukan. Aliran konsol akan menerjemahkan
"\n"
ke urutan baris baru yang sesuai, jika perlu.sumber
\n
Environment.NewLine
akan mengembalikan karakter baris baru untuk platform terkait di mana kode Anda berjalanAnda akan menemukan ini sangat berguna ketika Anda menggunakan kode Anda di linux pada kerangka Mono
sumber
Dari dokumen ...
sumber
Environment.NewLine akan memberikan "\ r \ n" saat dijalankan di Windows. Jika Anda membuat string untuk lingkungan berbasis Unix, Anda tidak ingin "\ r".
sumber
Anda mungkin mendapat masalah ketika Anda mencoba untuk menampilkan pesan multi-line yang dipisahkan dengan "\ r \ n".
Itu selalu merupakan praktik yang baik untuk melakukan hal-hal dengan cara standar, dan menggunakan Lingkungan
sumber