首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在.NET中限制Queue <T>的大小?

在.NET中,要限制Queue <T>的大小,可以使用以下方法:

  1. 创建一个自定义类,继承自Queue <T>,并添加一个最大容量属性。
代码语言:csharp
复制
public class BoundedQueue<T> : Queue<T>
{
    public int MaxCapacity { get; }

    public BoundedQueue(int maxCapacity)
    {
        MaxCapacity = maxCapacity;
    }

    public new void Enqueue(T item)
    {
        if (Count >= MaxCapacity)
        {
            throw new InvalidOperationException("Queue is full");
        }

        base.Enqueue(item);
    }
}
  1. 使用自定义的BoundedQueue <T>类,限制队列的大小。
代码语言:csharp
复制
var boundedQueue = new BoundedQueue<int>(5);

for (int i = 0; i < 5; i++)
{
    boundedQueue.Enqueue(i);
}

boundedQueue.Enqueue(5); // 抛出异常:Queue is full

在这个例子中,我们创建了一个BoundedQueue <T>类,它继承自Queue <T>,并添加了一个最大容量属性MaxCapacity。我们重写了Enqueue方法,以便在队列已满时抛出异常。

这样,我们就可以使用BoundedQueue <T>类来限制队列的大小。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券