Секундомер. Прошло TimeSpan , поэтому вы можете сделать myStopwatch.Elapsed.TotalMilliseconds
, myStopwatch.Elapsed.TotalSeconds
и т. Д.
// Create new stopwatch
Stopwatch stopwatch = new Stopwatch();
// Begin timing
stopwatch.Start();
// Do something
for (int i = 0; i < 1000; i++)
{
Thread.Sleep(1);
}
// Stop timing
stopwatch.Stop();
// Write result
Console.WriteLine("Time elapsed (s): {0}", stopwatch.Elapsed.TotalSeconds);
Console.WriteLine("Time elapsed (ms): {0}", stopwatch.Elapsed.TotalMilliseconds);
Console.WriteLine("Time elapsed (ns): {0}", stopwatch.Elapsed.TotalMilliseconds * 1000000);
Выход:
Time elapsed (s): 2.4976622
Time elapsed (ms): 2497.6622
Time elapsed (ns): 2497662200
Обратите внимание , что stopwatch.ElapsedMilliseconds
возвращает long
и, таким образом, является точным только с точностью до миллисекунды, в то время как stopwatch.Elapsed.TotalMilliseconds
возвращает double
, а имеет такую же точность , что и stopwatch.ElapsedTicks
, за исключением того, что его проще использовать. ILSpy показывает, что TimeSpan.TotalMilliseconds
все равно вычисляется с использованием тиков.