Jawaban:
Tergantung pada platform. Di Windows sebenarnya "\ r \ n".
Dari MSDN:
String yang berisi "\ r \ n" untuk platform non-Unix, atau string yang berisi "\ n" untuk platform Unix.
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:
/*===================================NewLine====================================
**Action: A property which returns the appropriate newline string for the given
** platform.
**Returns: \r\n on Win32.
**Arguments: None.
**Exceptions: None.
==============================================================================*/
public static String NewLine {
get {
Contract.Ensures(Contract.Result<String>() != null);
return "\r\n";
}
}
Implementasi dalam .NET Core:
/*===================================NewLine====================================
**Action: A property which returns the appropriate newline string for the
** given platform.
**Returns: \r\n on Win32.
**Arguments: None.
**Exceptions: None.
==============================================================================*/
public static String NewLine {
get {
Contract.Ensures(Contract.Result() != null);
#if !PLATFORM_UNIX
return "\r\n";
#else
return "\n";
#endif // !PLATFORM_UNIX
}
}
sumber (dalam System.Private.CoreLib
)
public static string NewLine => "\r\n";
sumber (dalam System.Runtime.Extensions
)
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.
\n
Environment.NewLine akan memberikan "\ r \ n" saat dijalankan di Windows. Jika Anda membuat string untuk lingkungan berbasis Unix, Anda tidak ingin "\ r".