Многоразовое обращение к полям объекта ключевой коллекции - C#

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

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

Есть ключевая коллекция

users

с элементами типа

user

, каковых несколько тысяч. Цикл

foreach

по ним всем пробегается, считывая из полей объектов некоторые поля и записывая данные. Как будет оптимальнее сделать, вот так?
            if (((User)users[key]).notice)
            {
                ((User)users[key]).oneMinutes = 100;
            }
            else
            {
                ((User)users[key]).oneMinutes = 0;
            }
 
            ((User)users[key]).lastTime = DateTime.Now;
или вот так?
            User userTemp = (User)users[key];
            if (userTemp.notice)
            {
                userTemp.oneMinutes = 100;
            }
            else
            {
                userTemp.oneMinutes = 0;
            }
 
            userTemp.lastTime = DateTime.Now;
 
            users[key] = userTemp;
В последнем случае для того, чтобы не было каждый раз обращения к коллекции по ключу(что наверное тоже требует времени для поиска объекта с определенным ключом), я создал временный объект и все действия проделываю с ним, а уже после этого возвращаю в коллекцию обработанные элемент из временного userTemp.

Решение задачи: «Многоразовое обращение к полям объекта ключевой коллекции»

textual
Листинг программы
foreach (var user in users.Values)
{
    user.oneMinutes = user.notice ? 100 : 0;
    user.lastTime = DateTime.Now;
}

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


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

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

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