Вы можете использовать Queue<T>
, как предлагалось много раз. Имейте в виду, однако, что Очередь будет добавлять элементы в конец и удалять с фронта, что является противоположным поведением, которое вы указали. Если вы используете эту коллекцию как IEnumerable<T>
и перечисляете ее, Queue<T>
будет в обратном направлении от ваших спецификаций.
Есть два способа обойти это легко. Вы можете перебрать очередь в обратном порядке, если обрабатываете ее как перечислимое с помощью Enumerable.Reverse ().
В качестве альтернативы вы можете использовать LinkedList<T>
. Это позволяет вставлять и удалять как начало, так и конец коллекции. Это позволит вам сохранить указанный вами порядок.
Если порядок не имеет значения, и вам просто нужна очередь общего назначения, тогда Queue<T>
, безусловно, лучший выбор.