【发布时间】:2012-11-15 11:31:09
【问题描述】:
所有,我有以下Append,当我为固定文本文件生成一行时,我正在执行它
formattedLine.Append(this.reversePadding ?
strData.PadLeft(this.maximumLength) :
strData.PadRight(this.maximumLength));
此特殊异常发生在 PadLeft() 上,其中 this.maximumLength = 1,073,741,823 [从 SQL Server 收集的 NVARCHAR(MAX) 的字段长度]。 formattedLine = "101102AA-1" 发生异常时,为什么会发生这种情况。我的最大允许长度应该是2,147,483,647?
我想知道https://stackoverflow.com/a/1769472/626442 是否是这里的答案 - 但是,我正在通过适当的Dispose() 调用任何一次性对象和using 块在可能的情况下管理任何内存。 p>
注意。此固定文本导出是在后台线程上完成的。
感谢您的宝贵时间。
【问题讨论】:
-
你的标题和你的正文不同步 - 你声称它是
Append正在抛出标题,但在正文中你说它是PadLeft。我强烈怀疑Append在这里无关紧要。 -
同意。我现在就改一下……
-
对对象调用
Dispose不会调用垃圾收集器。仅供参考。 -
@recursive 我知道。我理解这一点,我在这里没有建议这样做。不过感谢您的澄清。
标签: c# stringbuilder string-concatenation