source

"\n"과 환경의 차이입니다.새 줄

manysource 2023. 5. 20. 10:56

"\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