2010-08-27 104 views
18

必須有一個簡單的答案:爲什麼不是我的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); 
} 

這裏只有一個列表timeSheets價值,這是一個積極TimeSpan(本地檢查驗證)。

+4

對於一種不同的方法,可以完成所有與此:'VAR TOTALTIME = timeSheets.Sum(片=> sheet.EndTime - sheet.StartTime);' – recursive 2010-08-27 04:16:26

回答

52

TimeSpans是值類型。 嘗試:

totalTime = totalTime.Add(time)

17

這是一個常見的錯誤。 TimeSpan.Add返回TimeSpan的新實例。

3
totalTime = totalTime.Add(time)