2010-03-18 4 views
6

Я использую .NET framework 1.1 и Im, надеясь, что кто-то может помочь мне реализовать динамический массив объектов?Должен ли я использовать ArrayList или IList

Пониженный пример объекта, который я хочу использовать, приведен ниже.

Class CarObj 
{ 
    public string CarName; 
    public string CarYear; 
} 

Должен ли я использовать ArrayList или вы думаете, что было бы лучше, чтобы сделать класс Карлистского реализовать IList интерфейса? Есть ли преимущество в производительности для одного над другим?

+3

Почему компания решила остаться на платформе 1.1, когда мы на рассвете 4.0? –

ответ

4

Inherit CollectionBase вместо этого; это обертывает IList и позволяет вам обеспечить собственную реализацию типизированных методов, которые вам нужны. Это то, для чего он предназначен:

+0

WOW! У парней быстро! Спасибо – Ryan

1

Если вы используете 1.1 и вам нужна коллекция стилей динамического массива, то ArrayList - лучший выбор для вас.

Я действительно ненавижу все кастинг, который поставляется с использованием ArrayList, хотя и я, конечно, не виню людей для написания пользовательских коллекций, которые сильно реализовали элементы в 1.1. Однако, если вы идете по этому маршруту, я бы предложил использовать пользовательский генератор против утомительного ручного кодирования. Есть несколько доступных, которые можно быстро найти через google

Эта ссылка, например, действительно будет генерировать код для вас на веб-сайте и может быть просто скопирована и вставлена ​​в ваш проект.

+0

Это круто, спасибо за ссылку. – Ryan

0

Основным преимуществом реализации собственного класса коллекции (так как вы застряли в 1.1) типа безопасности; когда вы точно знаете, что ваша коллекция может содержать только CarObj экземпляров, нет необходимости в литье типов или беспокоиться об ошибках преобразования. Внутри этого класса коллекции можно было использовать ArrayList для хранения объектов.

Смежные вопросы