c# - 在开始时对插入和移除进行高效收集

标签 c# collections

对于频繁仅在集合开头插入和删除对象的代码,您会推荐哪种集合。

下面是一些代码来说明我的要求

while (collection.Count != 0)
{
   object obj = collection[0];
   collection.RemoveAt(0);

   ...

   if (somethingWith(obj))
       collection.Insert(0, anotherObj);

   ...  
}

在 0 以外的位置没有插入或删除。集合未排序。

你会推荐什么?

编辑:

我真的不需要对这个系列做任何花哨的事情。该集合用于对应处理的对象进行排队(并在处理期间填充集合)。

最佳答案

看来你只想实现一个 LIFO容器,所以你可以使用 Stack<T> :

while (stack.Count > 0) {
    object obj = stack.Pop();
    // ...
    if (SomethingWith(obj)) {
        stack.Push(anotherObj);
    }
}

关于c# - 在开始时对插入和移除进行高效收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241756/

相关文章:

c# - 为什么我每天使用带有 ASMX Web 服务的 log4net 获得两个日志文件?

c# - 提取以 x 开头以 y 结尾的字符串

java - IdentityHashMap 和 expectedmaxsize

c# - 如何在 UML 类图中最好地表示 c# .net 事件结构?

c# - ResourceManager 没有选择正确的 resx 文件

java - 如何使用单个数据库表在 adf 中创建树结构?

vb.net - 时间的背包算法

.net - .net中的generic.list和generic.dictionary线程是否安全?

java - 在 map 中,按一个字段排序并按另一个字段删除元素?

c# - 当鼠标光标悬停在 WPF 中的按钮上时,如何显示工具提示