我正在尝试将一些时间段加在一起进行计算。
例如:
var timeSpan1 = new TimeSpan.FromMinutes(1);
var timeSpan2 = new TimeSpan.MaxValue;
var timeSpan3 = timeSpan1 + timeSpan2;
在这种情况下,时间跨度将超过TimeSpan.MaxValue并抛出异常。
System.OverflowException:时间跨度溢出,因为持续时间太长。
添加TimeSpans的正确方法是什么?
我是否需要在其周围放置try-catch或编写自己的扩展方法?看起来这应该是.NET框架的一部分 - 要么默认为MaxValue,要么有一个TryAdd方法。
timeSpan3
的结果是TimeSpan.MaxValue
,那么你将违反数学规则,使得timeSpan3 - timeSpan1 != timeSpan2
。 - Matt Johnson-Pint无穷大 + 无穷大 = 无穷大
。在这种情况下,我也不应该使用无穷大 - 时间跨度 = ...
并依赖于结果。 - JumpingJezza