.NET 4.x Быстрый перебор объектов в коллекции - C#
Формулировка задачи:
Добрый вечер. Пишу онлайн-игрушку, и столкнулся с такой проблемой : передаю объекты класса от клиента к серверу, и наоборот. Во время передачи объекта с сервера к клиентом, использую конструкцию Как показывает дебаг, на перебор коллекции (foreach) уходит около 15-20 мс, что создает не малую задержку. Работал с типом коллекцией List<T>, теперь же использую HashSet, скорость увеличилась на 2-5 мс, но все равно большая задержка получается.
Прошу совета, какой тип коллекции использовать, и каким образом лучше перебирать объекты в коллекции?
HashSet<ServerPlayer> Players = new HashSet<ServerPlayer>();
foreach (ServerPlayer p in Players) { // на это уходит много времени
Serializer.SerializeWithLengthPrefix(stream, p, PrefixStyle.Fixed32);
}Буду очень благодарен за помощь!
Решение задачи: «.NET 4.x Быстрый перебор объектов в коллекции»
textual
Листинг программы
int iteration = Players.Count; for (int i=0; i < iteration; ....