我有清单List <Bitmap> memory = new List<Bitmap>();
。我使用此列表将图像状态保存在用于处理图像的简单程序中。我想实现前后操作,这将在保存在内存中的状态之间迭代(=保存在列表内存中)。
内存只有有限的范围,例如 20 个状态,这意味着当我对图像进行 20 次修改并且我进行第 21 次修改时,我将删除第一个状态。大概是通过手术吧memory.RemoveAt(0);
。那么列表会发生什么?我需要的列表比前一个列表包含 -1 个项目并且具有移位的索引。
我有 list list.Count = 20
,我删除了第一项,我想要list.Count = 19
并移动了索引 - 比如修剪空闲空间,所以原始列表的索引 1 现在将具有索引 0,而原始索引的索引 2 将具有索引 1,等等。我找到了一个方法的列表TrimExcess
,它会做我想要的,但我不确定。
当我有 19 个列表时,我可以将新状态保存到最后一个位置Add()
,所以我将再次获得 20 个列表。