Неупорядоченная очередь / стек - PullRequest
1 голос
/ 10 июля 2020

Мне нужен набор данных, из которого я могу взять элемент или добавить элемент, но который не не заботится о порядке и не обещает его, и он будет кричать на меня, если я попытаюсь взять больше элементов, чем есть?

Оба Queue<T> и Stack<T> удовлетворяют этому, но они подразумевают упорядочение элементов.

Это раздражает, потому что я хочу еще кое-что сделать это RemoveWhere<T>(Func<T, bool> predicate). С помощью Queue<T> или Stack<T> я могу легко реализовать помощник для этого, удаляя элементы, пока не найду совпадение, а затем снова добавляя все обратно.

Но тогда у меня есть объект, который утверждает, что он поддерживает порядок, но нарушил этот порядок: (

Естественно, я могу решить эту проблему с помощью подходящих MethodNames, или я мог бы реализовать все это самостоятельно как пользовательскую коллекцию, поддерживаемую List<T>.

Но прежде чем я изобрету велосипед ...

Есть ли уже коллекция, которая удовлетворяет мои потребности?

Какой-то класс Pile<T>?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...