我最近在.NETTimeSpan实现中遇到了一些奇怪的行为。TimeSpantest=TimeSpan.FromMilliseconds(0.5);doublems=test.TotalMilliseconds;//Returns0FromMilliseconds采用double作为参数。但是,该值似乎在内部四舍五入。如果我用5000个滴答(.5毫秒)实例化一个新的TimeSpan,则TotalMilliseconds的值是正确的。查看反射器中的TimeSpan实现表明输入实际上被转换为long。为什么Microsoft将FromMilliseconds方法设计为采用double参数而