DateTime.UtcNow 在同一方法中会返回不同的值吗?

Jae*_*wak 3 .net c#

假设我DateTime.UtcNow在单个方法的两次调用之间有一个很长的简单数学循环。

DateTime.UtcNow如果中间的代码花费的时间超过系统的计时器分辨率(例如 10 毫秒),是否会在同一方法内返回两个不同的值?

推而广之,如果代码在日期转变为新的一天时运行,是否有可能DateTime.UtcNow.Date导致同一方法内出现两个不同的日期?

LB2*_*LB2 5

DateTime.UtcNow不评估也不在方法启动时捕获其值。它在执行到达它时以及每次执行到达它时进行评估。所以是的,如果函数需要足够长的时间,您将在两次执行之间得到不同的值。