如何将 TimeSpan 乘以百分比

How to multiply a TimeSpan by a percentage

我正在尝试将 TimeSpan 乘以系数,但我不知道该怎么做。

我试过这个:

long ErrorCoef = 25;
TimeSpan TotalTimer = new TimeSpan(10,1,2,0);
TimeSpan TotalTimer2 = TimeSpan.FromTicks(TotalTimer.Ticks + TotalTimer.Ticks * (ErrorCoef / 100));

但是 (ErrorCoef/100) 自动转换为 Long,所以它 returns 0.

(TimeSpan.FromTicks() 方法只接受 Long 而不是 Double)

Timespan 有一个 Multiply 方法,所以

var factor = 1.25d;
var totalTimer = new TimeSpan(10,1,2,0);
var totalTimer2 = totalTimer.Multiply(factor);

应该可以解决问题。