Подтвердить что ты не робот

С# Когда мне следует использовать List и когда я должен использовать arraylist?

Как говорится в заголовке, когда следует использовать List и когда следует использовать ArrayList?

Спасибо

4b9b3361

Ответ 1

Основное время использования ArrayList - в .NET 1.1

Кроме этого, List<T> полностью (для вашего локального T)...

Для тех (редких) случаев, когда вы не знаете тип вверх (и не можете использовать generics), даже List<object> более полезен, чем ArrayList (IMO).

Ответ 2

Вы всегда должны использовать List<TypeOfChoice> (представленный в .NET 2.0 с generics), поскольку это TypeSafe и быстрее, чем ArrayList (без ненужного бокса/распаковки).

Только в том случае, когда я мог бы подумать о том, где ArrayList может быть вам полезен, вам нужно будет взаимодействовать со старыми вещами (.NET 1.1) или вам нужен массив объектов разного типа, и вы загружаете все как объект, но можете сделайте последнее с List<Object>, которое обычно лучше.

Ответ 3

Поскольку List - это общий класс, я бы всегда использовал List.

ArrayList - это класс .NET 1.x(все еще доступный и действительный, хотя), но он не "типизирован" /generic, поэтому вам нужно будет бросать элементы из "объекта" обратно в нужный тип; тогда как при использовании List вы не должны этого делать.

Ответ 4

Использовать Список, где это возможно. Я не вижу никакого использования в ArrayList, когда существует высокопроизводительный список.

Ответ 5

ArrayList - это более старая структура данных .NET. Если вы используете .NET 2.0 или выше, всегда используйте List, когда массиву необходимо хранить элементы того же типа. Использование List over ArrayList улучшает производительность и удобство использования.

Ответ 6

Как сказал другой. Вы должны использовать общий список List, почти всегда, когда знаете тип (С# - язык с сильным типом) и другие способы, когда вы выполняете классы полиморфности/наследования или другие подобные вещи.

Ответ 7

Если вы не хотите использовать запросы Linq, вам не нужно использовать List. Если вы хотите использовать, вы должны предпочесть список.

Ответ 8

Generics был введен в .Net 2.0. Если вы используете более ранние версии .Net, вы можете использовать список массивов, который мы можем использовать с самим общим списком. Список массивов является устаревшим и не обеспечивает лучшей безопасности типов, а также создает проблемы с боксом и распаковкой. Но общий список не будет.