2010-08-27 23 views
18

Es hat eine einfache Antwort sein:Warum funktioniert meine TimeSpan.Add() nicht?

var totalTime = TimeSpan.Zero; 

foreach (var timesheet in timeSheets) 
{ 
    //assume "time" is a correct, positive TimeSpan 
    var time = timesheet.EndTime - timesheet.StartTime; 
    totalTime.Add(time); 
} 

gibt es nur einen Wert in der Liste timeSheets und es ist eine positive TimeSpan (überprüft auf lokale Inspektion).

+4

Für einen anderen Ansatz, können Sie alles, was zu erreichen mit diesem: 'var totaltime = timeSheets.Sum (Blatt => sheet.EndTime - sheet.StartTime);' – recursive

Antwort

52

TimeSpans sind Werttypen. Versuchen:

totalTime = totalTime.Add(time)

17

Dies ist ein häufiger Fehler. TimeSpan.Add gibt eine neue Instanz von TimeSpan zurück.

3
totalTime = totalTime.Add(time) 
Verwandte Themen