.NET 4.x Быстрый перебор объектов в коллекции - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Пишу онлайн-игрушку, и столкнулся с такой проблемой : передаю объекты класса от клиента к серверу, и наоборот. Во время передачи объекта с сервера к клиентом, использую конструкцию
 
HashSet<ServerPlayer> Players = new HashSet<ServerPlayer>();
foreach (ServerPlayer p in Players) { // на это уходит много времени
                Serializer.SerializeWithLengthPrefix(stream, p, PrefixStyle.Fixed32);
            }
Как показывает дебаг, на перебор коллекции (foreach) уходит около 15-20 мс, что создает не малую задержку. Работал с типом коллекцией List<T>, теперь же использую HashSet, скорость увеличилась на 2-5 мс, но все равно большая задержка получается. Прошу совета, какой тип коллекции использовать, и каким образом лучше перебирать объекты в коллекции?

Буду очень благодарен за помощь!

Решение задачи: «.NET 4.x Быстрый перебор объектов в коллекции»

textual
Листинг программы
int iteration = Players.Count;
for (int i=0; i < iteration; ....

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы