2016-10-20 3 views
-3

Dies ist keine Codierungsfrage, sondern eher eine allgemeine Frage zum TimeSpan-Objekt in C#. Eine der Methoden des TimeSpan ist eine Duration(). Per MSDN, this method provides another TimeSpan object that contains the timespan as an absolute value. Ich bin verwirrt, was der absolute Wert in diesem Fall bedeutet. Wenn ich den absoluten Wert drucke, erhalte ich 736179.14: 46: 32.5485475. Ich versuche zu verstehen, was der absolute Wert einer Zeitspanne bedeutet, damit ich diesen Wert in die entsprechende doppelte Variable übersetzen kann.Erläuterung: Erläuterung der absoluten Werte für den Zeitbereich

+4

Ein absoluter Wert * Gewöhnlich * bedeutet "Entfernung von Null" unabhängig von positiver oder negativer Richtung. Was passiert, wenn Sie diese Eigenschaft in einer negativen Zeitspanne aufrufen? – David

+2

Ja, das Beispiel in [die Dokumente] (https://msdn.microsoft.com/en-us/library/system.timespan.duration.aspx) ist ziemlich klar, ich fühle .. – Blorgbeard

+2

Die [Dokumentation] (https : //msdn.microsoft.com/en-us/library/system.timespan.duration (v = vs.110) .aspx) hat Beispiele, die mir ziemlich klar scheinen - genau wie echte Zahlen, es wird ein "Negativ" Zeitspanne (Startzeit nach Endzeit) in eine positive Zeit. –

Antwort

1

Absoluter Wert bedeutet die Entfernung von Null ohne Rücksicht auf das Vorzeichen der Zahl. Also -4 hat einen absoluten Wert von 4.

Ihre Nummer: 736179.14: 46: 32.5485475 ist der absolute Wert einer .

Es wird im folgenden Format dargestellt (was ich vermute, ist das, was Sie verwirrend ist):

Tage.Stunden: Minuten: Seconds.Fractional Sekunden

736179 days 
14 hours 
46 minutes 
32 seconds 
5485475 Fractions of a second 
+0

Verwirrt mich ein wenig, also löschte ich diesen Kommentar .. Wenn es genau 3 Dezimalstellen ist, dann ist es "Millisekunden", .333 ist "333 Millisekunden", genau 6 ist Mikrosekunden und etc ... Dies ist genau 7 Dezimalstellen das hat kein Präfix .. also würde ich es nur gebrochene Sekunden nennen. .333 ist technisch sowohl "333 Millisekunden" als auch ".333" Sekundenbruchteile, ich denke .. – Quantic

+0

@Quantic Rechts, beim Erstellen der 'Duration' wird der 4. Parameter als Millisekunden genommen, wird aber als Bruchteile einer Sekunde angezeigt. – leigero