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

问题描述 投票:30回答:9

按照主题......

c# newline linefeed carriage-return
9个回答
40
投票

qazxsw poi是Unix,qazxsw poi是Mac,qazxsw poi是Windows。

有时它会给运行代码跨平台带来麻烦。你可以使用\n绕过这个。

有关更多信息,请参阅\r。快乐阅读


33
投票

区别

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

\r\n

不同的操作系统以不同的方式处理换行。以下是最常见的简短列表:

Environment.NewLine

他们希望换行符是两个字符的组合,即'\ r \ n'(或13后跟10)。

What is the difference between \r, \n and \r\n ?!

Unix使用单个'\ 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).

Mac使用单个* DOS and Windows

取自* Unix (and hence Linux as well)


10
投票

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

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


2
投票

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

* Mac


0
投票

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


0
投票

他们只是'\r'是变种。

Here用于Windows

http://en.wikipedia.org/wiki/Newline用于mac和linux


0
投票

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

  • Vindov usur yurun
  • Mac用户\ r
  • Linux使用\ n

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


0
投票

\ 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。现在您无需关心操作系统。

© www.soinside.com 2019 - 2024. All rights reserved.