我有以下的身體一個簡單的控制檯應用程序:爲什麼DateTime.Now.Ticks不一致?
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
Console.WriteLine(DateTime.Now.Ticks.ToString());
而這三種不同的運行的輸出:
635258949900018675
635258949900028676 // +10001
635258949900028676 // +0
635258949900038677 // +10001
635258949900038677 // +0
635258949900038677 // +0
635258949900038677 // +0
635258949900038677 // +0
635258949900038677 // +0
635258949900038677 // +0
635258949937502423
635258949937512424 // +10001
635258949937512424 // +0
635258949937512424 // +0
635258949937512424 // +0
635258949937522425 // +10001
635258949937522425 // +0
635258949937522425 // +0
635258949937522425 // +0
635258949937522425 // +0
635258961813519906
635258961813529907 // +10001
635258961813529907 // +0
635258961813529907 // +0
635258961813529907 // +0
635258961813539908 // +10001
635258961813539908 // +0
635258961813539908 // +0
635258961813539908 // +0
635258961813539908 // +0
有人可能會想這是正常的,這些值是因爲不同的執行Console.WriteLine
之間需要一段時間。行之間的間隔是一個恆定值10001,但不知何故,這個值不會被添加到每一步的前一個值。有時候是,有時並非如此。我想知道爲什麼會發生這種情況。
目前還不清楚你在問什麼 - 之間的間隔就我所知,兩個不同的值總是似乎是10001個刻度。你真的只是問爲什麼變化之間有不同數量的調用?如果是這樣,請記住你的機器有多少 - 以及有多少事情可能會有所不同。 –
對不起。我的意思是在每一步都不會增加10001。有時會增加,有時卻不會。 –
謝謝@JonSkeet。你幾乎總是回答有關日期時間的問題:)。我希望你能看到我的另一個問題,我很長一段時間尋找答案。我知道你沒有太多時間,但請你分享一下你的看法?提前致謝。 http://stackoverflow.com/questions/20924278/why-does-timespan-tostring-require-escaping-separators –