Wątek przeniesiony 2014-11-13 10:25 z C# i .NET przez ŁF.

Jak otrzymać sumę przerw?

0

Witam, otóż mam kawałek pętli można powiedzieć że jest ona odpowiedzialna za obliczanie długości przerw...
Wszystko śmiga ładnie ale teraz zastanawiam się jak otrzymać sumę długości przerw..
Program działa na zasadzie:

Pobiera początek przerwy oraz jej koniec a następnie odejmuje je od siebie co daje nam długość przerw.
np: 1200 / 1200 = 0000 <- długość przerwy. I teraz gdy z pętli mamy kilka takich wyników czy można te przerwy dodać do siebie aby otrzymać jeden wynik? np długość wszystkich przerw z całego dnia?

 for (breakIndex = 0; breakIndex < 32; breakIndex++)
            {

                string cellValue;
                cellValue = gridViewBreaks.GetRowCellValue(breakIndex, "Początek").ToString();

                MessageBox.Show(cellValue, "początek przerwy");


                string cellValue2;
                cellValue2 = gridViewBreaks.GetRowCellValue(breakIndex, "Koniec").ToString();

                MessageBox.Show(cellValue2, "koniec przerwy");

                TimeSpan time = TimeSpan.Parse(cellValue);
                TimeSpan time2 = TimeSpan.Parse(cellValue2);

                TimeSpan result = time2 - time;

                string resulttime = result.ToString();

                MessageBox.Show(resulttime, "długość przerwy");
               
            }

Jeżeli coś przedstawiłem nie tak to przepraszam.

1

Zadeklaruj przed pętlą zmienną suma. Następnie w pętli dodawaj do niej result.

0

tak, wszystko się zgadza. Jakaś podpowiedz odnośnie dodania w pętli zmiennej?? jak zsumować wynik resulttime?

1

Czemu chcesz sumować resulttime, który jest stringiem? sumuj sobie TimeSpany.

0

ok źle napisałem chodzi o sumowanie result który jest TimeSpan.

0

W takim razie w czym problem? Sumuje się zazwyczaj używając operatora +...

0

ciężko było mi się tego domyśleć że należy użyć + .. chodzi oto że mam wynik result w pętli.. ten wynik otrzymuję z odejmowania czasów i zapętla się do max 32 razy w zależności ile mamy przerw.. więc skoro niby tylko wystarczy użyć operatora + ? to niby gdzie? hmm..

0

Kolega już przecież podpowiedział.

Vardamir napisał(a):

Zadeklaruj przed pętlą zmienną suma. Następnie w pętli dodawaj do niej result.

0

nvm

1
var sum = new TimeSpan();
for(coś tam)
{
   TimeSpan result = // wyliczasz ten result
   sum += result;
}
0

dzięki wielkie, musiałem jeszcze dodać kilka rzeczy i działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1