Как ни странно, в коллекции стека, по-видимому, отсутствуют довольно простые методы shift и unshift *, и я работаю в 2.0, поэтому я не могу их просто расширить.
Есть ли какой-нибудь разумный метод или альтернативный класс коллекции, чтобы эти методы были доступны? Мне тоже нужно пуш и поп.
Редактировать: похоже, что коллекция, которую я хочу, действительно deque , которая, к счастью, не является родной для C #: (
В настоящее время я не могу использовать сторонние библиотеки, поэтому я буду использовать неуклюжий LinkedList (я говорю неуклюжий, потому что чтение и удаление - это две операции, где shift будет одна), но я думаю, что рекомендую подход PowerCollections любому, кто мог бы использовать это. Или еще лучше, переходя на методы расширения.
вздыхает
* Извинения, я не осознавал, что это необычные термины, я думал, что просто не знаю, где их найти в API. Для справки:
shift = удалить первый элемент
unshift = вставить элемент в начало коллекции