Показать сообщение отдельно
Старый 18.01.2011, 23:53   #9
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Список и его индексация.

Сегодня на работе провёл тесты:
Класс FieldTestA, имеет int _id и string _name.
И класс FieldTestB, имеет string _name.
Параметры для доступа к ним, и конструкторы.

Создание в List<FieldTest> и Dictionary<int,FieldTestB>, одинакого, немного шустрее естественно в Dictionary.
Но при поиске разница огромная конечно. Чуть ли не в 10 раз. При этом в первом варианте ещё зависит от разницы максимального и минимального ID.
Во втором варианте сразу же профит: если нету такого Key, это можно получить спец функцией самого Dictionary, что избавляет от каких либо поисков.
И получение объекта сразу по ID, очень шустрое.
Только вот обратный вариант - получение ID по одному из параметров у объекта, всё равно нужно листать. Но всё-же, это в разы шустрее
(Offline)
 
Ответить с цитированием