Neu in .NET 7.0 [29]: Microseconds und Nanoseconds
Microsoft erweitert die Klassen DateTime, TimeStamp, DateTimeOffset und TimeOnly in .NET 7.0 um die Eigenschaften Microseconds und Nanoseconds.
- Dr. Holger Schwichtenberg
Die Klassen DateTime
, TimeStamp
, DateTimeOffset
und TimeOnly
bieten in .NET 7.0 auch die Eigenschaften Microseconds und Nanoseconds. Bisher gab es als kleinste Einheit nur den Tick, der 100 Nanosekunden entspricht.
Die neuen Eigenschaften sind als berechnete Properties implementiert.
public const long NanosecondsPerTick = 100;
public const long TicksPerMicrosecond = 10;
public double TotalMicroseconds => (double)_ticks / TicksPerMicrosecond;
public double TotalNanoseconds => (double)_ticks * NanosecondsPerTick;
Das Gleiche konnten Entwicklerinnen und Entwickler auch zuvor schon einfach selbst implementieren. Die neuen Properties sind aber intuitiver zu verstehen, eine Hilfe fĂĽr alle, die nicht auswendig wissen, wie viel Zeit ein Tick ist.
Dazu ein Anwendungsbeispiel:
var startZeitunkt = DateTime.Now;
int x = 40;
int y = 2;
int z = x + y;
Console.WriteLine("Ergebnis: " + z);
var endeZeitunkt = DateTime.Now;
Console.WriteLine("Das zu errechnen, dauerte so lange:");
TimeSpan ts = endeZeitunkt - startZeitunkt;
Console.WriteLine(ts.TotalMilliseconds + " ms");
Console.WriteLine(ts.TotalMicroseconds + " µs"); // 1 Millisekunde == 1000 Mikrosekunden
Console.WriteLine(ts.Ticks + " ticks"); // 1 Tick = 100 Nanosekunden
Console.WriteLine(ts.TotalNanoseconds + " ns"); // 1 Mikrosekunde == 1000 Nanosekunden
Das Beispiel liefert diese Ausgabe:
(map)