gpt4 book ai didi

C# byte[] 子串? (设计)

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

我正在将一些文件异步下载到一个大字节数组中,并且我有一个回调,只要有一些数据被添加到该数组,我就会定期触发该回调。如果我想让开发人员能够使用添加到数组的最后一 block 数据,那么……我该怎么做呢?在 C++ 中,我可以给他们一个指向中间某处的指针,然后或许告诉他们在上次操作中添加的字节数,这样他们至少知道他们应该查看的 block ……我真的不知道想给他们一份该数据的第二份副本,那太浪费了。

我只是在想人们是否想在文件下载完成之前处理这些数据。真的有人愿意这样做吗?还是它是一个无用的功能?当缓冲区(整个字节数组)已满时,我已经有一个回调,然后他们可以转储整个东西而不用担心起点和终点...

最佳答案

.NET 有一个结构可以完全满足您的需求:

System.ArraySegment .

无论如何,自己实现它也很容易 - 只需创建一个构造函数,它接受一个基本数组、一个偏移量和一个长度。然后执行 indexer在幕后偏移索引,因此您的 ArraySegment 可以无缝地用于代替数组。

关于C# byte[] 子串? (设计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972396/

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