1秒等於1000毫秒,以下單位是微秒、納秒(=10億秒)、皮秒、飛秒,均是千位進位。
為什麼產生隨機數時:Random ran = new Random((int)DateTime.Now.Ticks); 要用DateTime.Now.Ticks,DateTime.Now.Ticks的意義是什麼?
擷取表示此執行個體的日期和時間的刻度數。 ---是什麼意思
電腦的“隨機數”並非真的“隨機數”,而是偽隨機數——也就是通過一系列演算法,從一個起始數字開始按照一定規則算出來的。
就好像函數F(x)一樣,x就是隨機數的種子。
你可以做個測試:把你的"new Random(x)"裡面的x設定成一個固定數字,例如1,多次運行程式列印隨機數,你會發現每次運行列印出來的數字都是一樣的。
DateTime.Now.Ticks的刻度為一百納秒。
取表示此執行個體的日期和時間的計時周期數。
屬性值
類型:System..::.Int64
表示此執行個體的日期和時間的計時周期數。該值介於 DateTime.MinValue.Ticks 和
DateTime.MaxValue.Ticks 之間。
備忘
每個計時周期表示一百納秒,即一千萬分之一秒。此屬性的值表示自 0001 年 1 月 1 日午夜 12:00:00(表示 DateTime..::.MinValue)以來經過的以
100 納秒為間隔的間隔數。
樣本
下面的樣本使用 Ticks 屬性顯示自二十一世紀初以來經過的計時周期數,並執行個體化
TimeSpan 對象。然後,使用
TimeSpan 對象顯示採用幾個其他時間間隔所經過的時間。
DateTime centuryBegin = new DateTime(2001, 1, 1);
DateTime currentDate = DateTime.Now;
long elapsedTicks = currentDate.Ticks - centuryBegin.Ticks;
TimeSpan elapsedSpan = new TimeSpan(elapsedTicks);
Console.WriteLine("Elapsed from the beginning of the century to {0:f}:",
currentDate);
Console.WriteLine(" {0:N0} nanoseconds", elapsedTicks * 100);
Console.WriteLine(" {0:N0} ticks", elapsedTicks);
Console.WriteLine(" {0:N2} seconds", elapsedSpan.TotalSeconds);
Console.WriteLine(" {0:N2} minutes", elapsedSpan.TotalMinutes);
Console.WriteLine(" {0:N0} days, {1} hours, {2} minutes, {3} seconds",
elapsedSpan.Days, elapsedSpan.Hours,
elapsedSpan.Minutes, elapsedSpan.Seconds);
// If run on December 14, 2007, at 15:23, this example displays the
// following output to the console:
// Elapsed from the beginning of the century to Friday, December 14, 2007 3:23 PM:
// 219,338,580,000,000,000 nanoseconds //ticks*100=單位納秒
// 2,193,385,800,000,000 ticks //單位ticks
// 219,338,580.00 seconds
// 3,655,643.00 minutes
// 2,538 days, 15 hours, 23 minutes, 0 seconds