c# - 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
解决方案
使用行分隔符 ("\n")
sb.Append(data.toString + "\n");
推荐阅读
- javascript - 赛普拉斯 - Salesforce | 在同一测试场景中运行第二次尝试后,我们遇到了一个问题
- python - 按组滚动聚合,从某个日期开始
- laravel - 找不到类“App\Http\Controllers\Auth\User”
- swift - Xcode 12.5 - 包无法从 info.plist 获取信息
- c# - SQL Server 存储过程只返回临时表的最后一行
- python - 如何使用烧瓶在 html 页面上显示图像?
- r - 在数字和单词 R 之间添加一个空格
- java - 旋转形状并在原始位置绘制
- ansible - Ansible:需要将来自 2 个文件的信息组合起来以完成以后的任务
- jsonschema - 数组的 JSON 模式验证可以包含具有不同键的项目