这两者之间的区别是什么(如果有的话)?
当前回答
正如其他人提到的,环境。NewLine返回一个特定于平台的字符串,用于开始新行,它应该是:
“\r\n”(\u000D\u000A)用于Windows “\n”(\u000A)用于Unix “\r”(\u000D) for Mac(如果存在这样的实现)
注意,当写入控制台时,环境。NewLine不是必须的。如果需要,控制台流将“\n”转换为适当的新行序列。
其他回答
环境。NewLine在Windows上运行时会给出“\r\n”。如果你正在为基于Unix的环境生成字符串,你不需要“\r”。
环境的精确实现。来自源代码的换行:
.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将返回运行代码的相应平台的换行符
当你在Mono框架中部署你的代码时,你会发现这非常有用
正如其他人提到的,环境。NewLine返回一个特定于平台的字符串,用于开始新行,它应该是:
“\r\n”(\u000D\u000A)用于Windows “\n”(\u000A)用于Unix “\r”(\u000D) for Mac(如果存在这样的实现)
注意,当写入控制台时,环境。NewLine不是必须的。如果需要,控制台流将“\n”转换为适当的新行序列。
这取决于平台。在Windows上,它实际上是“\r\n”。
从MSDN:
包含“\r\n”的字符串 非unix平台,或者字符串 Unix平台包含“\n”。
推荐文章
- HTTP POST返回错误:417“期望失败。”
- 如何在。net中创建和使用资源
- 为什么Path。以Path.DirectorySeparatorChar开头的文件名合并不正确?
- 如何在c#中获得正确的时间戳
- Linq选择列表中存在的对象(A,B,C)
- c# .NET中的App.config是什么?如何使用它?
- c#:如何获得一个字符串的第一个字符?
- String类中的什么方法只返回前N个字符?
- 我如何提高ASP。NET MVC应用程序性能?
- 更好的方法将对象转换为int类型
- 我可以将c#字符串值转换为转义字符串文字吗?
- 在c#中转换char到int
- c#中朋友的对等物是什么?
- 关键字使用virtual+override vs. new
- 无法解析类型为“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务