Основная проблема, которую я вижу, в том, что вы не сохраняете результат totalTime.Add
. TimeSpan
объекты неизменны, поэтому вам нужно сделать это вместо:
totalTime = totalTime.Add(...);
Тем не менее, вы, вероятно, также не должны так часто звонить worked.ToList()
. Вызовите это один раз перед циклом for.
Кроме того, вы можете рассмотреть влияние перехода на летнее время на ваш код. Предполагая, что значения записаны по местному времени, вычитание двух DateTime
экземпляров не учитывает DST. Если одно значение перед переходом, а другое - после, у вас не будет правильного результата. Чтобы учесть это, запишите ваши значения, используя DateTimeOffset
типы.