c# - 为什么 "\n"在 Windows 上换行?

标签 c# .net windows newline

Windows 上的换行符应该是 CR+LF 而在 Unix 上,它只是 LF

所以当我使用类似 Console.Write("line1\nline2"); 的东西时,为什么它会“正常”工作并给我两行代码?我希望这个 \n 不起作用,只有 \r\n 的组合才起作用。

最佳答案

'\n' 是换行符。传统上,它会使打印机将纸张卷起一行。 '\r' 是回车符,传统上它会导致打印机头移动到纸张的最左边缘。

在以这种方式解释字符的打印机和控制台上,line1\nline2 的输出将是

line1
     line2

许多控制台(和编辑器)会将“\n”解释为您想要开始一个新行并且将光标置于该新行的开头。这就是您在这里看到的。

你应该使用 Environment.NewLine而不是对任何特定常量进行硬编码。

关于c# - 为什么 "\n"在 Windows 上换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10034585/

相关文章:

windows - 如何使用 Windows XP 中的内部选项在 VBScript 中解压缩文件

c# - Python在控制台应用程序中执行外部Python脚本

c# - 如何为用户创建一个框来输入他们的邮政编码?

正则表达式在 Linux 中工作,但在 Windows 中不起作用 - node.JS

.NET:加载同一个 DLL 的两个版本

c# - 当我真的需要继承两个类时如何处理CS1721?

windows - 如何检查变量是否包含批处理文件中的特殊字符

c# - 验证采集通过

c# - 查询交错数组中所有列中的第一个元素

c# - 覆盖现有的日志文件