这两者之间的区别是什么(如果有的话)?
当前回答
环境。NewLine将返回运行代码的相应平台的换行符
当你在Mono框架中部署你的代码时,你会发现这非常有用
其他回答
从医生那里…
包含“\r\n”的字符串 非unix平台,或者字符串 Unix平台包含“\n”。
这取决于平台。在Windows上,它实际上是“\r\n”。
从MSDN:
包含“\r\n”的字符串 非unix平台,或者字符串 Unix平台包含“\n”。
当您试图显示以“\r\n”分隔的多行消息时,可能会遇到麻烦。
以标准的方式做事,并使用环境总是一个很好的实践。换行符
环境的精确实现。来自源代码的换行:
.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
}
}
source (in System.Private.CoreLib)
public static string NewLine => "\r\n";
source(在System.Runtime.Extensions中)
环境。NewLine在Windows上运行时会给出“\r\n”。如果你正在为基于Unix的环境生成字符串,你不需要“\r”。
推荐文章
- _ViewStart的位置和方式。CSHTML布局文件链接?
- 新建T()
- 如何将枚举绑定到WPF中的组合框控件?
- 拒绝访问该路径
- Visual Studio - Resx文件默认“内部”为“公共”
- 使用linq转换列表到字典,不用担心重复
- 单元测试:日期时间。现在
- 什么是回调?
- .NET中的KeyDown和KeyPress有什么区别?
- 返回匿名类型的结果?
- 你能解释一下流的概念吗?
- 如何在Java中监控计算机的CPU、内存和磁盘使用情况?
- 何时使用IList,何时使用List
- ConfigurationManager。AppSettings在.NET Core 2.0中可用?
- 在c#的控制台应用程序中使用'async