首页 > 解决方案 > Stringbuilder AppendLine 添加了太多新行

问题描述

我正在尝试在 Visual Studio 中使用 C# 生成 QR 码...对于每个大标签,我使用 childTags 创建了一个类...我覆盖 ToString() 函数以使用 Stringbuilder 并将每个标签添加到其中

class QRCdtrInf
{
    public string IBAN;
    public QRCdtr Cdtr;
    public override string ToString()
    {
        var sb = new StringBuilder();
        sb.AppendLine(IBAN);
        sb.Append(Cdtr.ToString());
        return sb.ToString();
    }
}

最后有一个类 QRData 接受所有类 ToString 并附加它..

class QRData
{
    public QRHeader Header;
    public QRCdtrInf CdtrInf;
    public QRUltmtCdtr UltmtCdtr;
    public QRCcyAmt CcyAmt;
    public QRUltmtDbtr UltmtDbtr;
    public QRRmtInf RmtInf;
    public QRAltPmtInf AltPmtInf;

    public override string ToString()
    {
        var sb = new StringBuilder();
        sb.Append(Header.ToString());
        sb.Append(CdtrInf.ToString());
        sb.Append(UltmtCdtr.ToString());
        sb.Append(CcyAmt.ToString());
        sb.Append(UltmtDbtr.ToString());
        sb.Append(RmtInf.ToString());
        return sb.ToString();
    }

}

然后我将它发送到编码,当我扫描它时,每一行我总是得到太多的一行..我什至尝试了 Append(Enviroment.NewLine)... 我尝试只使用 Append... 然后它将所有内容写入一条线。所以要么我在一行中有所有值,要么在每个值之间有一个 CRLF 太多

编辑:所以现在使用 AppendLine 的输出是这样的:

1
Empty Line
2
Empty Line
3
Empty Line

但我想要这样:

1
2
3

标签: c#visual-studioappendqr-codestringbuilder

解决方案


使用行分隔符 ("\n")


sb.Append(data.toString + "\n");

推荐阅读