Измерение Stopwatch в C#
Класс Stopwatch не привязан к календарю: это секундомер для участка
кода. Он не заменяет DateTime и не знает про часовые пояса.
Метод Stopwatch.StartNew сразу запускает счёт; после Stop читают ElapsedMilliseconds,
ElapsedTicks или Elapsed как TimeSpan.
На короткой паузе миллисекунды могут остаться нулём, а тики - уже больше нуля.
Измерим короткую паузу потока и проверим, что длительность неотрицательна:
using System.Diagnostics;
Stopwatch lap = Stopwatch.StartNew();
Thread.Sleep(10);
lap.Stop();
Console.WriteLine(lap.ElapsedMilliseconds >= 0); // выведет True
Засеките паузу в 5 мс и выведите прошедшие миллисекунды.