As per subject...
问题:
回答1:
\n
is Unix, \r
is Mac, \r\n
is Windows.
Sometimes it's giving trouble especially when running code cross platform. You can bypass this by using Environment.NewLine
.
Please refer to What is the difference between \r, \n and \r\n ?! for more information. Happy reading
回答2:
The Difference
There are a few characters which can indicate a new line. The usual ones are these two:
* '\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).
Different Operating Systems handle newlines in a different way. Here is a short list of the most common ones:
* DOS and Windows
They expect a newline to be the combination of two characters, namely '\r\n' (or 13 followed by 10).
* Unix (and hence Linux as well)
Unix uses a single '\n' to indicate a new line.
* Mac
Macs use a single '\r'
.
Taken from Here
回答3:
"\n" is just a line feed (Unicode U+000A). This is typically the Unix line separator.
"\r\n" is a carriage return (Unicode U+000D) followed by a line feed (Unicode U+000A). This is typically the Windows line separator.
回答4:
Basically comes down to Windows standard: \r\n and Unix based systems using: \n
http://en.wikipedia.org/wiki/Newline
回答5:
It's about how operating system recognize line ends.
- windows user \r\n
- mac user \r
- linux uses \n
Morale: if you are developing for windows, stick to \r\n. Or even better, use C# string functions to deal with strings which already consider line endings (WriteLine, and such).
回答6:
Use Environment.NewLine
and don't care.
回答7:
\n is the line break used by Unix(-like) systems, \r\n is used by windows. This has nothing to do with C#.
回答8:
They are just \r\n and \n
are variants.
\r\n
is used in windows
\n
is used in mac and linux
回答9:
\n = LF (Line Feed) // Used as a new line character in Unix
\r = CR (Carriage Return) // Used as a new line character in Mac
\r\n = CR + LF // Used as a new line character in Windows
(char)13 = \r = CR
Environment.NewLine = any of the above code based on the operating system
// .Net provides the Environment class which provides many data based on Operating Systems, so if the application is built in Windows, and you use CR + LF ("\n\r" instead of Environment.NewLine) as new line character in your strings, and then MS creates a VM for running .Net applications in Unix, then there will be problem. So, you should always use Environment.NewLine when you want a new line character. Now you need not to care about operating system.