2010-08-27 24 views
18

Tiene que haber una respuesta fácil:¿Por qué no funciona mi TimeSpan.Add()?

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); 
} 

Sólo hay un valor en la lista timeSheets y es un positivo TimeSpan (verificado en la inspección local).

+4

Para un enfoque diferente, se puede lograr todo lo que con esto: 'var = totalTime timeSheets.Sum (hoja => sheet.EndTime - sheet.StartTime);' – recursive

Respuesta

52

TimeSpans son tipos de valor. Probar:

totalTime = totalTime.Add(time)

17

Esto es un error común. TimeSpan.Add devuelve una nueva instancia de TimeSpan.

3
totalTime = totalTime.Add(time) 
Cuestiones relacionadas