在C#中,\ n和\ r \ n之间有什么区别?

按照主题……

\n是Unix, \r是Mac, \r\n是Windows。

有时它会给运行代码跨平台带来麻烦。 您可以使用Environment.NewLine绕过此function。

请参考\ r,\ n和\ r \ n之间有什么区别? 欲获得更多信息。 快乐阅读

区别

有几个字符可以表示新行。 通常的是这两个:

 * '\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'

取自这里

“\ n”只是一个换行符(Unicode U + 000A)。 这通常是Unix行分隔符。

“\ r \ n”是回车符(Unicode U + 000D),后跟换行符(Unicode U + 000A)。 这通常是Windows行分隔符。

基本上归结为Windows标准:\ r \ n和基于Unix的系统使用:\ n

http://en.wikipedia.org/wiki/Newline

这是关于操作系统如何识别线路末端。

  • windows用户\ r \ n
  • mac用户\ r
  • linux使用\ n

士气:如果您正在为Windows开发,请坚持\ r \ n。 或者甚至更好,使用C#字符串函数来处理已经考虑行结尾的字符串(WriteLine等)。

使用Environment.NewLine并不在乎。

\ n是Unix(类似)系统使用的换行符,\ r \ n由windows使用。 这与C#无关。

它们只是\r\n and \n是变体。

\r\n用于Windows

\n用于mac和linux

\ 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)作为新行字符你的字符串,然后MS创建一个用于在Unix中运行.Net应用程序的VM,然后就会出现问题。 因此,当您需要新的行字符时,应始终使用Environment.NewLine。 现在您无需关心操作系统。