У меня есть несколько таймеров, которые измеряют время выполнения кода.
DateTime startTimeFunctionTotal = DateTime.Now;
for (int i = 0; i < array.Count; i++) {
DateTime startTimeFunction = DateTime.Now;
//some code here
DateTime stopTimeFunction = DateTime.Now;
TimeSpan durationTimeFunction = stopTimeFunction - startTimeFunction ;
}
DateTime stopTimeFunctionTotal = DateTime.Now;
TimeSpan durationTimeFunctionTotal = stopTimeFunctionTotal - startTimeFunctionTotal ;
Допускается (даже лучше), если прогнозируемое время изменяется в соответствии с большим количеством данных (каждый цикл содержит больше данных, поэтому прогноз должен быть более точным).
Я бы хотел дать пользователю прогнозируемое время финиша (как 15 минут, так и 10:56).