正如标题所暗示的那样,我最好使用\n
,\r\n
或System.Environment.NewLine
来换取C#应用程序中的换行符吗?
我有一个控制台,WinForms和WPF应用程序,目前全部使用\n
(如果需要),但在我的控制台应用程序中,我发现当重定向CLi的输出并在记事本中打开输出时休息时间未被正确识别。我可以改变我对这个应用程序的行为,但我正在寻求那些一直使用特定方法的人的建议以及原因。
干杯!
更新
所以普遍的共识是使用System.Environment.NewLine
除非出现需要\n
(Unix / OS X),\r
(OS 9)或\r\n
的特定要求(视窗)
谢谢大家,对不起来感到抱歉!
答案 0 :(得分:7)
更好地使用Environment.NewLine,因为\r
和\n
与平台有关。
\ n是Unix,\ r是Mac,\ r \ n是Windows
Environment.NewLine
将根据操作系统返回上述任何内容。
答案 1 :(得分:1)
除非你有意写一个“外国”文件,否则最好总是使用Environment.NewLine - 这就是它的用途。正如你所发现的那样,有时你可以逃避其他事情,有时你却做不到。
编写读取文本文件的代码非常容易,因此它并不真正关心\ n和\ r \ n的组合用于结束行,但正如您所发现的,记事本对此非常严格。