我一直在爲這個問題撓撓頭幾個小時,現在我已經在同事中起草了,而且我們都迷了路。這可能是來自新款咖啡機的咖啡太多,或者是星期五的事實......我們不確定!DateTime,.AddSeconds()不起作用?
我有以下方法:
private void calcuateEstimatedExecutionTimesForDueJobs(List<TestJob> dueJobs)
{
DateTime rollingTime = DatabaseConnection.getNow();
foreach (TestJob job in dueJobs)
{
job.setEstimatedStart(rollingTime);
double estimatedRuntime = job.getEstimatedRuntime();
rollingTime = rollingTime.AddSeconds(estimatedRuntime);
job.setEstimatedFinish(rollingTime);
}
}
的意圖是要處理的我們的應用程序正在排隊等待交付「TestJobs」的列表。我們的TestJob很清楚它可能需要多長時間才能運行,所以我希望在這裏使用這些信息來預測每個TestJob的「開始」「完成」時間。
不幸的是,rollingTime從不改變。儘管job.getEstimatedRuntime()總是返回一個正數double,但在當前TestJob上調用AddSeconds()並傳遞此值不起作用。
在我的代碼中是否存在錯誤,或者是更險惡的東西?
更新:我注意到這個問題仍然有一些意見。對於那些遇到像我這樣的奇怪問題的人,我記得簡單地通過解決這個問題,重新啓動Visual Studio/Rebooting。我想這個問題仍然會不時出現......(Ahem ......)!
看起來不錯,你確定估計運行時間不是0? – scottm 2009-10-02 14:33:37
這是一個非常小的正面雙?日期時間只有分辨率下降到幾毫秒。如果它小於... – 2009-10-02 14:34:08
我用你的結構運行了一個測試用例,只是使用了虛擬值,並且它工作正常。因此,請仔細檢查您是否檢查了'rollingTime'正在更改的工作是否正常,並仔細檢查您要添加的值。 – bdukes 2009-10-02 14:37:10