Chronomètre.Fréquence vous donne ticks / seconde.
Donc, si vous avez des tics, vous pouvez simplement diviser par fréquence pour obtenir des secondes:
long ticks = sw.ElapsedTicks;
double ns = 1000000000.0 * (double)ticks / Stopwatch.Frequency;
double ms = ns / 1000000.0;
double s = ms / 1000;
Par exemple, vous pouvez faire:
static void Main()
{
Stopwatch sw = new Stopwatch();
sw.Start();
System.Threading.Thread.Sleep(3456);
sw.Stop();
long ticks = sw.ElapsedTicks;
double ns = 1000000000.0 * (double)ticks / Stopwatch.Frequency;
double ms = ns / 1000000.0;
double s = ms / 1000;
Console.WriteLine("{0}, {1}, {2}", ns, ms, s);
Console.ReadKey();
}
Qui, sur mon système, imprime:
3455650175.58075, 3455.65017558075, 3.45565017558075