【发布时间】:2020-06-23 09:15:29
【问题描述】:
我已经在我的系统中引入了块的概念。每个区块都可以拆分为子区块。
我想到了几种方法来创建或跟踪块中的子块,一种选择可能是这样做(欢迎任何更好的建议):
// // Dictionary <sub-block-number, payload>
Dictionary <UInt16, List<byte>> _payloads { get; set; } = new Dictionary<UInt16, List<byte>>();
现在我向字典中添加内容没有问题,但是将组合的有效负载检索到 byte[] 给我带来了问题。我还看到一堆关于堆栈溢出的事情(请参阅here)使用 Linq,但我不确定这是正确的方法,因为有些人说它非常低效。在所有情况下,这些答案都没有返回 byte[]。
这是我想要实现的:
// Get combined payload from _payloads dictionary
public byte[] GetTotalPayload()
{ .. }
编辑
字典中的Lists会从“sub-block-number”=0到N一一递增。 不确定在组合到 List 时是否指定必须以增量方式对键进行排序很重要?应该不会吧。
【问题讨论】:
-
尚不清楚 1) 检索 byte[] 的目标是什么(如果要写入文件,直接写入文件会更有效)。 2)如果有一个特定的方式来组合字典中的每个条目。我们可以将任何
List<byte>用于第一项吗? -
@John,什么文件?从来没有提到过一个文件。只是如何组合字典中的所有列表
-
@John,什么?我没有粗鲁。抱歉,结果是这样的:-)我正在编辑我的问题,因为你正在回答。订购是一个非常好的点,这并不重要,但无论如何可能值得照顾。谢谢。
标签: c# dictionary