开发中经常有任务队列的设计,主要用于存储待执行的任务。由于任务来源的多样性,因此有时候需要一颗后悔药,将队列中某些待执行任务删除。此时使用LinkedList比较合适。
public LinkedList<TaskInfo> taskInfos = new LinkedList<TaskInfo>(); public void RemoveTask(DateTime createtiem) { if (taskInfos.Count == 0) return; var curNode = taskInfos.First; while (curNode != null) { if (curNode.Value.Createtime == createtiem) { var rmNode = curNode; curNode = curNode.Next; zKInfos.Remove(rmNode); } else { curNode = curNode.Next; } } }