0

我是从 .NET 的角度说的,但这可以扩展到使用类似逻辑的其他语言或框架。

假设在按 DateTime 属性对对象进行排序时,将 DateTime 值转换为 Ticks(即长整数)以进行比较是否正确?结果,排序的速度DateTime并不比整数排序慢很多(如果有的话)?

4

2 回答 2

2

是的,它比较刻度。这是实际的实现:

public int CompareTo(DateTime value) {
    long valueTicks = value.InternalTicks; 
    long ticks = InternalTicks; 
    if (ticks > valueTicks) return 1;
    if (ticks < valueTicks) return -1; 
    return 0;
}
于 2013-05-04T03:40:04.670 回答
-1

您可以使用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
于 2013-05-04T03:43:17.703 回答