在.NET中是否有队列类型集合允许在达到队列容量时将元素推出队列?
答案 0 :(得分:3)
在调用Add()后,当Count超出限制时,只需调用Dequeue就可以轻而易举。跳出一种扩展方法。
答案 1 :(得分:2)
我建议创建一个新类,而不是子类化队列,因为有限长度的队列类不应该传递给可能调用旧的enqueue方法的代码。如果在完整时发生推送,队列可能会执行许多逻辑操作:
创建可继承的基类,然后创建实现特定行为的派生类可能会很好。这样,关心问题场景的方法可能需要一个承诺正确处理它的类。请注意,最后一个场景可能看起来很奇怪,但有时它是合适的,例如将数据放入队列以便处理其他任务的事件处理程序。如果队列足够大以至于它不应该溢出,但读取器任务被阻止,则可能不希望将这种阻塞渗透回事件发送者。