为了账号安全,请及时绑定邮箱和手机立即绑定

\ n和Environment.NewLine之间的区别

\ n和Environment.NewLine之间的区别

慕标5832272 2019-09-21 13:49:34
两者(如果有的话)之间有什么区别(相对于.Net)?
查看完整描述

3 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

取决于平台。在Windows上,它实际上是“ \ r \ n”。

从MSDN:

对于非Unix平台,包含“ \ r \ n”的字符串,对于Unix平台,包含“ \ n”的字符串。


查看完整回答
反对 回复 2019-09-21
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

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)


查看完整回答
反对 回复 2019-09-21
?
青春有我

TA贡献1784条经验 获得超8个赞

如其他人所述,Environment.NewLine返回平台特定的字符串以开始新行,该字符串应为:


"\r\n" (\ u000D \ u000A)对于Windows

"\n" (\ u000A)对于Unix

"\r" (\ u000D)对于Mac(如果存在这种实现)

请注意,在写入控制台时,并非严格要求Environment.NewLine。"\n"如果需要,控制台流将转换为适当的换行序列。


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 1904 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信