TimeSpan.FromSeconds
接受一个double类型的参数,可以表示100纳秒的时间值,但是这个方法不可理喻地将时间四舍五入为整数毫秒。
既然我刚刚花了半小时才确定这一(已记录在案的!)行为,如果知道为什么会这样做,那么就更容易忍受浪费的时间了。
有人能够解释为什么实现了这种看似逆向操作的行为吗?
TimeSpan.FromSeconds(0.12345678).TotalSeconds
// 0.123
TimeSpan.FromTicks((long)(TimeSpan.TicksPerSecond * 0.12345678)).TotalSeconds
// 0.1234567