Мне нужен общий класс коллекции, который я могу добавить и перечислить. Поскольку ICollection<T>
наследуется от IEnumerable<T>
, классу действительно нужно наследовать от ICollection<T>
. Существует ли простой базовый класс в BCL, который просто наследует ICollection<T>
, как универсальная версия CollectionBase? Если нет, то какой класс подходит ближе всего?
Я бы предположил List<T>
, что я и использовал, но мне не нужен последовательный аспект. Есть ли что-нибудь лучше (под этим я подразумеваю [меньший объем памяти / более быстрый доступ / более простой])? Сумка была бы идеальной, если бы она существовала.
РЕДАКТИРОВАТЬ 1: В моем конкретном случае я .concat
обращаюсь к другому IEnumerable, запрашиваю его и затем отображаю результаты (в произвольном порядке). Я не пытаюсь сделать свой собственный класс. Мне просто нужно было сделать одноразовую коллекцию столько раз, что я подумал, что было бы полезно найти лучший одноразовый для использования. Поскольку я чувствую, что много раз делал нечто подобное, я чувствовал, что должен держать этот вопрос как можно более общим (без каламбура), теперь я знаю лучше.
РЕДАКТИРОВАТЬ 2: Спасибо за ответы всех, как указывал @BlueRaja, у любого простого класса будут примерно одинаковые накладные расходы, и поэтому я думаю, что буду придерживаться своих оригинальных способов использования List<T>
. Поскольку все они примерно одинаковы, мои глупые причины «легче напечатать» и «мне не нужно вводить еще одно использование» не такие уж плохие причины.