gpt4 book ai didi

c# - 在不调用 ToString() 的情况下将 StringBuilder 的内容写入文件

转载 作者:行者123 更新时间:2023-11-30 13:36:19 25 4
gpt4 key购买 nike

假设我有一个 StringBuilder,但我无法重构它以使用流。我想将我的 StrinBuilder 的内容写入一个文件,但我不想在内存中制作一份额外的内容副本,即我不想调用 ToString().

我可以在不在内存中制作额外副本的情况下获取内容吗?

我相信在版本 2 之前的 ToString() 可以通过使用写时复制来避免复制,但现在情况已经不同了。

最佳答案

如果我对您的问题的理解正确,那么这与复制本身无关,而是一次复制整个内容。换句话说,如果您有一个数兆字节的 StringBuilder,请避免仅仅为了将其存储到磁盘而需要数兆字节的分配。

如果正确,您可以使用 StringBuilder.CopyTo使用较小的固定大小缓冲区将数据复制到 block 中。然后,您可以将这些较小的 block 直接写入您喜欢的任何流。

关于c# - 在不调用 ToString() 的情况下将 StringBuilder 的内容写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35433631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com