Я бы искал руководство в классах фреймворка здесь, то есть Queue<T>
- который выдает InvalidOperationException
, если вы пытаетесь удалить элемент из пустой очереди.Это имеет смысл, только если вы предоставляете потребителям доступ к количеству элементов в очереди или, по крайней мере, если очередь пуста или нет, то есть:
public bool IsEmpty()
{
return heapSize == 0;
}
public int Count
{
get
{
return heapSize;
}
}