Я использую платформу.NET 1.1, и я надеюсь, что кто-то мог помочь мне реализовать динамический массив объектов?
Вниз политый пример объекта, которого я желаю использованию, ниже.
Class CarObj
{
public string CarName;
public string CarYear;
}
Я должен использовать ArrayList, или Вы думаете, что было бы лучше сделать класс CarList для реализации интерфейса IList? Существует ли выигрыш в производительности для одного по другому?
Вместо этого наследовать CollectionBase
; это обертывает IList
и позволяет вам предоставить собственную реализацию типизированных методов, которые вам нужны. Это то, для чего он разработан:)
Если вы используете 1.1 и вам нужна коллекция стилей динамического массива, то ArrayList
- лучший выбор, чтобы вы начали двигаться. .
Я ненавижу все приведение типов при использовании ArrayList
, хотя, конечно же, я не виню людей за то, что они пишут собственные коллекции, члены которых сильно реализованы в 1.1. Однако, если вы пойдете по этому пути, я бы предложил использовать собственный генератор вместо утомительного ручного кодирования. Есть несколько доступных, которые можно быстро найти через google
. Эта ссылка, например, фактически сгенерирует для вас код на веб-сайте, и его можно просто скопировать и вставить в ваш проект.
Основным преимуществом реализации вашего собственного класса коллекции (поскольку вы застряли в 1.1) является тип безопасность; когда вы точно знаете, что ваша коллекция может содержать только экземпляры CarObj
, нет необходимости в приведении типов или беспокоиться об ошибках преобразования. Внутри этот класс коллекции может использовать ArrayList
для хранения объектов.