使列表中的项目出队,并在位置0处插入新的项目

时间:2018-10-10 17:56:30

标签: c#

我有一个这样的列表:

public List<ProjectHistoryModel> ProjectHistoryModel = new List<ProjectHistoryModel>();

现在我有入队和出队的方法,如:

private void Enqueue(ProjectHistoryModel model)
{
    ProjectHistoryModel.Add(model);
}

private void Dequeue(List<ProjectHistoryModel> model)
{
    model.RemoveAt(4);
}

除了一个原因外,它可以正确地添加和删除项目,当我添加新项目时,我希望始终将其添加到索引[0],例如,如果我有一个带有索引0,1,2,3,4,5的列表,并且有新项目验证if (ProjectHistoryModel.Count == 5),因此现在运行出队并删除索引5 Enqueue方法可以运行并添加新项目,但它已添加为索引5,我想将其添加为索引0并进行所有其他操作。我该如何实现?

1 个答案:

答案 0 :(得分:2)

要将项目添加到零索引,请使用.Insert而不是.Add

ProjectHistoryModel.Insert(0,model);

如您所见,.Add将项目添加到列表的末尾,而对于.Insert,您指定将项目插入到的索引。您的情况是0。


根据@DavidG的评论,除非是为了练习,否则可能更适合使用Queue<T>而不是列表。