我有一个要求,我在bytearray中有大量的数据。我想选择39998数据并跳过39999,40000.40001,40002索引,然后再选择这个39998数据并跳过39999,40000.40001,40002。从bytearray中删除特定的索引范围,然后重新组合c#
所以我的要求是, 我需要大小的总字节数组39998 * 12 = 479976
我曾尝试这种解决方案
for (int i = 1; i < 13; i++)
{
list.RemoveAt(39999 * i);
list.RemoveAt((39999 * i) + 1);
list.RemoveAt((39999 * i) + 2);
list.RemoveAt((39999 * i) + 3);
}
但是却将列表。
我需要选择数据从1到39998跳过4个字节,然后选择39998并跳过4个字节等等直到12次。然后重新组合bytearray。实际上,如果我们正在使用列表,它会在第二次移动索引时发生问题(删除其他索引)。所以如果其他建议你请让我知道
我想你应该在13开始'i'并减1,这样你的偏移就不会受到前面循环中的移除的影响。 – juharr
我有一个需求,我需要从1到39998选择数据跳过4个字节,然后选择39998并跳过4个字节等等,直到12次。然后重新组合bytearray。实际上,如果我们正在使用列表,它会在第二次移动索引时发生问题(删除其他索引)。所以,如果你有其他建议,请让我知道 –
我想你可以减去4次'我 - 1'来说明前面循环中删除的项目。 – juharr