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/