C# 保存到文件时格式错误

C# 保存到文件时格式错误,c#,C#,我试图保存一个字符串生成器到一个文件,但它没有新行。 输出应该如下所示 无新行输出 这是因为您应该在Windows中对新行使用\r\n\n是Unix。你应该使用 builder.AppendLine(); 这是自动完成的。更准确地说,AppendLine在非Unix平台上\r\n附加一个字符串,在Unix平台上\r\n附加一个字符串 请注意,您的文件确实包含某些编辑器甚至在Windows上将其解释为换行符的\n。例如,记事本就不这样做。这是因为您应该在Windows中对新行使用\r\n\n

我试图保存一个字符串生成器到一个文件,但它没有新行。 输出应该如下所示

无新行输出


这是因为您应该在Windows中对新行使用\r\n\n是Unix。你应该使用

builder.AppendLine();
这是自动完成的。更准确地说,AppendLine在非Unix平台上\r\n附加一个字符串,在Unix平台上\r\n附加一个字符串


请注意,您的文件确实包含某些编辑器甚至在Windows上将其解释为换行符的\n。例如,记事本就不这样做。

这是因为您应该在Windows中对新行使用\r\n\n是Unix。你应该使用

builder.AppendLine();
这是自动完成的。更准确地说,AppendLine在非Unix平台上\r\n附加一个字符串,在Unix平台上\r\n附加一个字符串

请注意,您的文件确实包含某些编辑器甚至在Windows上将其解释为换行符的\n。比如说,记事本就不能代替

builder.Append("\n");

然后用记事本++而不是窗口的默认文本编辑器打开文件

我相信您的\n字符被记事本忽略,因此无法呈现。在Windows计算机上,它需要\r\n渲染换行符和环境。换行符将确保您得到正确的换行符。

Replace

builder.Append("\n");

然后用记事本++而不是窗口的默认文本编辑器打开文件


我相信您的\n字符被记事本忽略,因此无法呈现。在Windows计算机上,它希望\r\n呈现换行符和环境。换行符将确保您得到正确的换行符。

Notepad希望换行符结尾为\r\n。您可以附加它,也可以只使用StringBuilder.AppendLine。您要添加的\n字符在那里,但记事本不显示它们。您可以使用记事本++打开同一个文件,您将看到换行符。是的,只需使用AppendLine如果您在windows计算机上工作,您可能需要在新行之前添加回车符:builder.Append\r\n;我使用的问题已解决\r\nNotepad希望行结束\r\n。您可以附加它,也可以只使用StringBuilder.AppendLine。您要添加的\n字符在那里,但记事本不显示它们。您可以使用记事本++打开同一个文件,您将看到换行符。是的,只需使用AppendLine如果您在windows计算机上工作,您可能需要在新行之前添加回车符:builder.Append\r\n;问题已解决我使用的\r\n为什么要使用您自己的卷?builder.AppendLine存在,应用于附加新的linebuilder.AppendLine完全可以接受。。。如果他没有使用字符串生成器,了解Environment.NewLine仍然很有用。100%同意使用Environment.NewLine。也许不是最好的解决方案,但知道它的存在可以解决OP在这个项目和其他地方可能遇到的许多其他问题。@ZakkDiaz很公平,只是似乎对于这个特定的问题,附录是一个明显的选择。也许两者都值得一提!为什么要自己滚呢?builder.AppendLine存在,应用于附加新的linebuilder.AppendLine完全可以接受。。。如果他没有使用字符串生成器,了解Environment.NewLine仍然很有用。100%同意使用Environment.NewLine。也许不是最好的解决方案,但知道它的存在可以解决OP在这个项目和其他地方可能遇到的许多其他问题。@ZakkDiaz很公平,只是似乎对于这个特定的问题,附录是一个明显的选择。也许两者都值得一提!