【问题标题】:Efficient collection for inserts and removals at the beginning在开始时高效收集插入和移除
【发布时间】:2011-06-05 08:23:35
【问题描述】:

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

这里有一些代码来说明我的要求

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

   ...

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

   ...  
}

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

你会推荐什么?

编辑:

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

【问题讨论】:

    标签: c# collections


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多