Yanıtlar:
Platforma bağlıdır. Windows'da aslında "\ r \ n" dir.
MSDN'den:
Unix olmayan platformlar için "\ r \ n" içeren bir dize veya Unix platformları için "\ n" içeren bir dize.
Environment.NewLineolduğunu \r\nancak \naynı zamanda "yeni satır" denir. Neden ikincisini daha iyi bilinen "satır besleme" adıyla çağırıp karışıklığı kestiler? Onlar \lda kullanabilirdi.
Environment.NewLineKaynak kodundan tam olarak uygulanması :
.NET 4.6.1'deki uygulama:
/*===================================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";
}
}
.NET Core'daki uygulama:
/*===================================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
}
}
kaynak (in System.Private.CoreLib)
public static string NewLine => "\r\n";
kaynak (in System.Runtime.Extensions)
Diğerlerinin de belirttiği gibi, Environment.NewLineyeni bir satır başlatmak için platforma özgü bir dize döndürür;
"\r\n" (\ u000D \ u000A) Windows için"\n" (\ u000A) Unix için"\r" (\ u000D) Mac için (böyle bir uygulama varsa)Konsola yazarken, Environment.NewLine uygulamasının kesinlikle gerekli olmadığını unutmayın. Konsol akışı "\n", gerekirse uygun yeni satır sırasına çevrilir .
\n
Environment.NewLine, Windows üzerinde çalıştırıldığında "\ r \ n" verecektir. Unix tabanlı ortamlar için dizeler oluşturuyorsanız, "\ r" istemezsiniz.