myślę, że moja logika jest błędna ....Szacowany pozostały czas, czego brakuje?
w pętli mam:
int seconds = (int) (elapsed.TotalSeconds/ItemPos) * (Count - ItemPos);
ta pętla aktualizuje mniej więcej raz na sekundę ....
Mam problem jest, że sekundy zawsze kończą się wartością zerową (0).
dzieje się tak, ponieważ wartość ItemPos
jest zawsze wyższa po pierwszej pętli niż elapsed.TotalSeconds
.
Tak na przykład:
czy 3 sekundy mijają
ItemCount = 20 , so 3/20 = 0.15 - rounds to zero.... 0 * anything = 0......
Co robię źle?
Twój pierwszy podział jest zaokrąglanie do 0. oddanych operandy (float). – EricLaw
@EricLaw: TimeSpan.TotalSeconds jest "podwójnym" – dtb
@EricLaw - bardzo ładnym ... Dodam rozwiązanie ... –