답변:
플랫폼에 따라 다릅니다. Windows에서는 실제로 "\ r \ n"입니다.
MSDN에서 :
Unix 이외의 플랫폼의 경우 "\ r \ n"이 포함 된 문자열 또는 Unix 플랫폼의 경우 "\ n"이 포함 된 문자열.
Environment.NewLine
있다 \r\n
하지만, \n
또한 "새로운 라인"라고합니다. 왜 그들은 잘 알려진 이름 인 "줄 바꿈"으로 후자를 부르지 않고 혼란을 없애지 않았습니까? 그들은 \l
또한 사용할 수있었습니다 .
Environment.NewLine
소스 코드에서 정확한 구현 :
.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";
}
}
.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
}
}
소스 ( System.Private.CoreLib
)
public static string NewLine => "\r\n";
소스 ( System.Runtime.Extensions
)
다른 사람들이 언급했듯이 Environment.NewLine
새 줄을 시작하기위한 플랫폼 별 문자열을 반환합니다.
"\r\n"
Windows 용 (\ u000D \ u000A)"\n"
유닉스 용 (\ u000A)"\r"
Mac 용 (\ u000D) (구현 된 경우)콘솔에 쓸 때 Environment.NewLine이 반드시 필요한 것은 아닙니다. "\n"
필요한 경우 콘솔 스트림은 적절한 개행 순서로 변환 됩니다.
\n