"\n"과 환경의 차이입니다.새 줄
(.Net과 관련하여) 두 가지 차이점이 있다면 무엇입니까?
플랫폼에 따라 다릅니다.Windows에서는 실제로 "\r\n"입니다.
MSDN에서:
유닉스가 아닌 플랫폼의 경우 "\r\n"을 포함하는 문자열이거나 유닉스 플랫폼의 경우 "\n"을 포함하는 문자열입니다.
의 정확한 구현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
}
}
출처(in)System.Private.CoreLib
)
public static string NewLine => "\r\n";
출처(in)System.Runtime.Extensions
)
다른 사람들이 언급했듯이,Environment.NewLine
새 줄을 시작하기 위한 플랫폼별 문자열을 반환합니다. 이 문자열은 다음과 같아야 합니다.
"\r\n"
(\u000D\u000A)(윈도우즈용)"\n"
(\u000A)(유닉스용)"\r"
(\u000D)(Mac용)(해당 구현이 존재하는 경우)
콘솔에 쓸 때는 환경을 참조하십시오.New Line이 꼭 필요한 것은 아닙니다.콘솔 스트림이 변환됩니다."\n"
필요한 경우 적절한 새 줄 시퀀스로 이동합니다.
Environment.NewLine
코드가 실행 중인 해당 플랫폼의 새 줄 문자를 반환합니다.
모노 프레임워크에서 리눅스로 코드를 배포할 때 매우 유용하다는 것을 알게 될 것입니다.
문서에서...
유닉스가 아닌 플랫폼의 경우 "\r\n"을 포함하는 문자열이거나 유닉스 플랫폼의 경우 "\n"을 포함하는 문자열입니다.
다중 행 메시지를 "\r\n"으로 구분하여 표시하려고 하면 문제가 발생할 수 있습니다.
항상 표준 방식으로 작업을 수행하고 환경을 사용하는 것이 좋습니다.새 줄
환경.Windows에서 실행할 때 NewLine은 "\r\n"을 제공합니다.유닉스 기반 환경을 위한 문자열을 생성하는 경우 "\r"을 사용하지 않습니다.
언급URL : https://stackoverflow.com/questions/1015766/difference-between-n-and-environment-newline
'source' 카테고리의 다른 글
의 우선 순위 대기열입니다.그물 (0) | 2023.05.20 |
---|---|
HttpRequestValidation을 피하는 방법예외를 발생시킨 동일한 뷰를 렌더링하는 ASP.NET MVC에서 예외 발생 (0) | 2023.05.20 |
블록 기반 API 방법에서 null 및 null이 아닌 Objective-C 키워드를 사용하는 방법 (0) | 2023.05.20 |
CREATE TABLE 정의에서 인덱스를 생성할 수 있습니까? (0) | 2023.05.20 |
VB 프로젝트를 C# 프로젝트로 변환하는 방법 (0) | 2023.05.20 |