【发布时间】:2009-12-29 00:55:51
【问题描述】:
我正在将一些文件异步下载到一个大字节数组中,并且每当将一些数据添加到该数组时,我都会定期触发回调。如果我想让开发人员能够使用添加到数组中的最后一块数据,那么……我该怎么做呢?在 C++ 中,我可以给他们一个指向中间某处的指针,然后也许告诉他们在最后一次操作中添加的字节数,这样他们至少知道他们应该查看的块......我真的不知道想给他们该数据的第二个副本,那只是浪费。
我只是想人们是否想在文件完成下载之前处理这些数据。真的有人愿意这样做吗?还是无论如何它是一个无用的功能?当缓冲区(整个字节数组)已满时,我已经有一个回调,然后他们可以转储整个事情而不用担心起点和终点......
【问题讨论】:
-
马克,你想完成什么?一定有比您使用的“C++”方式更好的方式来完成它。
-
@John:嗯,这就是我要问的。我在问什么是让用户(使用我的库的开发人员)访问刚刚添加到字节数组的数据的最佳方式,以便他们可以在下载完成之前开始处理它(将其写入磁盘,或者...尝试以其他方式开始处理它)。那,以及给用户这个能力是否值得,或者额外的内存使用/处理的开销让人们访问这个能力是值得的。
标签: c# bytearray design-decisions