【发布时间】:2020-08-19 22:04:03
【问题描述】:
我正在尝试在 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
【问题讨论】:
-
所以您的问题是:“如何在数据之间添加新行?”对吗?
-
@AdrianEfford 查看我的编辑:
-
试试:sb.Append("data \n");是你想要的吗?
-
@AdrianEfford 不是所有的英雄都穿斗篷...非常感谢...但是您知道为什么 AppendLine 会多做一件而我不得不使用“\n”吗?
-
不客气!老实说,我不确定......我认为这是因为覆盖 String 方法。尝试在里面调试,但正如我所说,我不确定你为什么会遇到这个问题。如果你发现了就告诉我!!
标签: c# visual-studio append qr-code stringbuilder