是否有任何机会,这种说法将返回trueDateTime.Now检索速度
DateTime.Now == DateTime.Now
可以非常快的机器对于这一说法返回true,我试了几台机器和它总是假的?
是否有任何机会,这种说法将返回trueDateTime.Now检索速度
DateTime.Now == DateTime.Now
可以非常快的机器对于这一说法返回true,我试了几台机器和它总是假的?
是的。
此属性的分辨率取决于系统的定时器,它是在Windows 大约15毫秒systems.As结果,在一个短的时间间隔重复 呼叫到现在属性,如在一个循环中, 可能会返回相同的值。
来源:https://msdn.microsoft.com/en-us/library/system.datetime.now(v=vs.110).aspx
我只是在LINQPad运行此脚本:
Enumerable.Range(1, 1000).Select(i => DateTime.Now == DateTime.Now).ToList()
的第一个元素之后,所有的人都是如此。我猜测在第一次调用DateTime.Now
时,会有一些延迟,这会导致检查在您首次在给定应用程序中运行时经常返回false。
但是,该表达式可以(并且经常)返回true。
我在DotNetFiddle上试过这个,它返回true – Tuco
@Tuco你有没有试过真正的.NET应用程序? – Yaman
DotNetFiddle运行真正的.NET – Tuco