按照主题......
答案 0 :(得分:40)
\n
是Unix,\r
是Mac,\r\n
是Windows。
有时特别是在运行代码跨平台时会遇到麻烦。您可以使用Environment.NewLine
。
有关详细信息,请参阅What is the difference between \r, \n and \r\n ?!。快乐阅读
答案 1 :(得分:32)
差异
有几个字符可以表示新行。通常的是这两个:
* '\n' or '0x0A' (10 in decimal) -> This character is called "Line Feed" (LF).
* '\r' or '0x0D' (13 in decimal) -> This one is called "Carriage return" (CR).
不同的操作系统以不同的方式处理换行符。以下是最常见的简短列表:
* DOS and Windows
他们希望换行符是两个字符的组合,即'\ r \ n'(或13后跟10)。
* Unix (and hence Linux as well)
Unix使用单个'\ n'来表示新行。
* Mac
Mac使用单个'\r'
。
取自Here
答案 2 :(得分:10)
“\ n”只是一个换行符(Unicode U + 000A)。这通常是Unix行分隔符。
“\ r \ n”是回车符(Unicode U + 000D),后跟换行符(Unicode U + 000A)。这通常是Windows行分隔符。
答案 3 :(得分:3)
基本上归结为Windows标准:\ r \ n和基于Unix的系统使用:\ n
答案 4 :(得分:1)
这是关于操作系统如何识别行结束的。
士气:如果您正在为Windows开发,请坚持使用\ r \ n。或者甚至更好,使用C#字符串函数来处理已经考虑行结尾的字符串(WriteLine等)。
答案 5 :(得分:1)
使用Environment.NewLine
但不在乎。
答案 6 :(得分:1)
\ n是Unix(类似)系统使用的换行符,\ r \ n由windows使用。这与C#无关。
答案 7 :(得分:1)
他们只是\r\n and \n
的变体。
\r\n
用于Windows
\n
用于mac和linux
答案 8 :(得分:1)
\ n = LF(换行)//在Unix上用作新行字符
\ r = CR(回车)//用作Mac上的换行符
\ r \ n = CR + LF //在Windows上用作新行字符
(char)13 = \ r = CR
Environment.NewLine =以上基于操作系统的任何代码
// .NET提供了基于操作系统提供许多数据的Environment类,因此如果应用程序是在Windows上构建的,并且使用CR + LF(“\ n \ r”而不是Environment.NewLine)作为你的字符串中的新行字符,然后Microsoft创建一个用于在Unix中运行.NET应用程序的VM,然后就会出现问题。 因此,当您需要换行符时,应始终使用Environment.NewLine。现在您无需关心操作系统。