C# различие List<T> и Collection<T>

274
26 марта 2017, 01:48

В чем различие между List и Collection. Где и при каких условиях будет рациональнее использовать тот или другой тип?

Answer 1

Разница в том, что в Collection<T> есть ряд виртуальных методов (InsertItem, RemoveItem, SetItem, ClearItems), которые вы можете переопределить в классе-наследнике по своему усмотрению, и тем самым задать этим наследникам своё поведение при вставке, удалении или очистке элементов. При этом класс List<T> в большей степени сосредотачивается на быстродействии при выполнении операций вставки/удаления/очистки, нежели на предоставлении пользователю средств расширяемости в классах-наследниках (виртуальных членов у него нет вовсе).

MSDN нам авторитетно заявляет, что

Provides the base class for a generic collection

Иными словами, класс Collection<T> в первую очередь предназначен для создания на его базе собственных обобщённых коллекций, тогда как List<T> "для работы"

READ ALSO
Указать расположение Grid.Row и Grid.Column

Указать расположение Grid.Row и Grid.Column

У меня 5 строк и 5 колонок в Grid и получается 25 ячеек и как программно задать для картинки GridRow="" и Grid

270
Разделитель в datagridview

Разделитель в datagridview

Проблема с форматом числа в ячейки, при попытке вычитать данные столбца из datagridview и апдейтить ими таблицу в БД получаю ошибку приведения...

234
Роутинг изображений в asp.net mvc

Роутинг изображений в asp.net mvc

Доброго времени суток! Есть такая проблемаИмеется приложение asp

312
Sympy не видит IronPython 2.7.5

Sympy не видит IronPython 2.7.5

Нужно запустить код питона в c#, а именно использовать библиотеку sympy, нашел топик, который отвечает на мой вопрос http://stackoverflowcom/questions/6721736/c-sharp-library-for-algebra-simplification-and-solving

244