Dot-Net
.NET 中 Queue<T> 的限制大小?
我有一個 Queue<T> 對象,我已將其初始化為容量 2,但顯然這只是容量,並且在我添加項目時它會不斷擴展。是否已經有一個對像在達到限制時自動使項目出列,或者是創建我自己的繼承類的最佳解決方案?
我已經找到了我正在尋找的基本版本,它並不完美,但它會完成這項工作,直到出現更好的東西。
public class LimitedQueue<T> : Queue<T> { public int Limit { get; set; } public LimitedQueue(int limit) : base(limit) { Limit = limit; } public new void Enqueue(T item) { while (Count >= Limit) { Dequeue(); } base.Enqueue(item); } }