Luk*_*lch 29 c# carriage-return linefeed
将新行字符插入字符串时,我通常会这样做:
str = "First line\nSecond line";
Run Code Online (Sandbox Code Playgroud)
在C#中,这是标准做法吗?我还应该包含'回车'字符'\ r'吗?以下是否有任何区别,如果有,它们是什么?
str = "First line\nSecond line";
str = "First line\r\nSecond line";
Run Code Online (Sandbox Code Playgroud)
如果同时使用'回车'和'换行'是标准做法,是否有特定的订单?为什么?
注意:我在SO上阅读了一些其他帖子,但没有找到特定于.NET/C#的答案.
编辑:测试一个小应用程序后,我没有看到'\n'和'\n\r'或'\ r \n'之间有任何区别.
Ale*_*kov 66
System.Environment.NewLine是您正在寻找的常量 - http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx,它将提供特定于环境的组合,大多数程序在给定操作系统上将考虑"下一行文本".
在实践中,大多数文本工具都会将包含\n在"新行"中的所有变体视为您的文本"foo\nbar".特别是如果您正在尝试构建多行格式字符串,例如$"V1 = {value1}\nV2 = {value2}\n".如果要使用字符串连接构建文本,请考虑使用NewLine.在任何情况下,确保您使用的工具以您希望的方式理解输出,并且您可能需要例如始终使用\r\n而不管平台如果您选择的编辑器无法正确打开文件.
请注意,如果您计划使用这些方法编写文本,请WriteLine使用NewLine这样的方法,以避免使用\n因为结果文本可能包含混合\r\n而且\n可能会混淆某些工具并且看起来不是很整洁.
有关历史背景,请参阅\n和\ r \n之间的差异?
Bri*_*ach 10
回车符\r将光标移动到当前行的开头.换行\n会导致下一行,可能是下一行的开头; 这是Alexei在上面注意到的平台相关部分(在*nix系统上\n为您提供回车和换行符,在Windows中它没有)
你使用什么取决于你想要做什么.如果我想在控制台上制作一个小东西,我会这样做str = "|\r/\r-\r\\\r";.