我是从 .NET 的角度说的,但这可以扩展到使用类似逻辑的其他语言或框架。
假设在按 DateTime 属性对对象进行排序时,将 DateTime 值转换为 Ticks(即长整数)以进行比较是否正确?结果,排序的速度DateTime
并不比整数排序慢很多(如果有的话)?
是的,它比较刻度。这是实际的实现:
public int CompareTo(DateTime value) {
long valueTicks = value.InternalTicks;
long ticks = InternalTicks;
if (ticks > valueTicks) return 1;
if (ticks < valueTicks) return -1;
return 0;
}
您可以使用TicksPer constants
这是链接
Module Module1
Sub Main()
' Display these constants.
Console.WriteLine(TimeSpan.TicksPerDay)
Console.WriteLine(TimeSpan.TicksPerHour)
Console.WriteLine(TimeSpan.TicksPerMinute)
Console.WriteLine(TimeSpan.TicksPerSecond)
Console.WriteLine(TimeSpan.TicksPerMillisecond)
End Sub
End Module
输出
864000000000
36000000000
600000000
10000000
10000