如何更改 C# StringBuilder.AppendLine 行结尾?

Ted*_*ddy 2 c# stringbuilder line-endings

我有一个旧的 C# 应用程序,用于StringBuilder.AppendLine添加带有字符串的行,然后计算字符串的校验和。到目前为止,它始终在 Windows 桌面/Windows CE 上运行,因此行结尾始终为\r\n

现在我需要让它在 linux/mono 上同样工作。但随后AppendLine仅添加 a\n而不是 a \r\n

所以我必须向 stringbuilder 添加与 Windows 上相同的行结尾。但如何呢?

s.Append("\r\n");
Run Code Online (Sandbox Code Playgroud)

似乎不起作用。

s.Append(13);
s.Append(10);
Run Code Online (Sandbox Code Playgroud)

也不做这项工作。

mak*_*n99 5

StringWriter可用于写入StringBuilder.

var builder = new StringBuilder();
using var stringWriter = new StringWriter(builder)
{
    NewLine = "\r\n"
};

stringWriter.WriteLine("line1");
stringWriter.WriteLine("line2");

var output = builder.ToString();
Run Code Online (Sandbox Code Playgroud)