2013-05-04 97 views
0

我從.NET的角度來講,但這可能會擴展到其他語言或使用類似邏輯的框架。排序整數與日期時間

假設當通過DateTime屬性對對象進行排序時,DateTime值被轉換爲Ticks(即長整型)以作比較用途是否正確?結果,DateTime排序的速度並不比整數排序慢(如果有的話)?

回答

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; 
} 
+0

感謝。所以按整數排序沒有優勢。 – 2013-05-04 05:08:14

+0

這是正確的。 – 2013-05-04 05:12:26

-1

您可以使用TicksPer constants

Here是鏈接

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