Ich möchte das Verhältnis von einem TimeSpan zu einem anderen TimeSpan (im Grunde den Fortschritt eines Video-Players von seiner Gesamtzeit) erhalten. Meine derzeitige Methode besteht darin, die Millisekunden der beiden TimeSpan-Objekte zu erhalten und sie gegeneinander zu teilen. Etwas wie:
%Vor%Gibt es eine direktere Route? Es ist ein einfaches Problem, und ich bin nur neugierig, ob es eine sehr elegante Möglichkeit gibt, es zu lösen.
Prost alles James
Sie sollten entweder Ticks oder TotalMilliseconds , abhängig von der erforderlichen Genauigkeit. Millisekunden gibt die Anzahl der Millisekunden nach der aktuellen Sekunde an.
Für eine bessere Lösung wird es nicht einfacher als eine Division, so dass Ihre aktuelle Lösung in Ordnung ist (abzüglich des Fehlers).
Sie müssen eins in ein Doppelbild umwandeln, andernfalls wird C # eine ganzzahlige Division machen. Ticks ist besser als TotalMilliseconds, weil es so gespeichert ist und jegliche Konvertierung vermeidet.
TimeSpan
hat mit der Veröffentlichung von .NET Core 2.0 mehrere neue Operatoren gewonnen:
Beachten Sie, dass ein TimeSpan
jetzt durch ein weiteres TimeSpan
geteilt werden kann:
Tags und Links c#