Подтвердить что ты не робот

С# Timespan Milliseconds vs TotalMilliseconds

В приведенном ниже примере, почему свойство Milliseconds возвращает 0, а свойство TotalMilliseconds возвращает 5000

// 5 seconds
TimeSpan intervalTimespan = new TimeSpan(0, 0, 5);

// returns 0
intervalTimespan.Milliseconds;

// returns 5000.0
intervalTimespan.TotalMilliseconds
4b9b3361

Ответ 1

Простой:

  • Миллисекунды - это оставшиеся миллисекунды, которые не образуют целую секунду.
  • TotalMilliseconds - это полная продолжительность времени, выраженная в миллисекундах.

Ответ 2

Поскольку Milliseconds возвращает часть Milliseconds, а TotalMilliseconds возвращает полные миллисекунды, представленные Timespan

Пример: 0: 00: 05.047

Миллисекунды: 47

Всего миллисекунд: 5047

Ответ 3

Это происходит потому, что intervalTimespan.Milliseconds; возвращает milisecond компонент времени. В вашем временном конструкторе у вас есть только час минута и второй компонент, поэтому результат равен 0. intervalTimespan.TotalMilliseconds - Это дает вам полные промежутки времени. Пример:

// 5 miliseconds
TimeSpan intervalTimespan = new TimeSpan(0, 0,0,0,5);

// returns 5
intervalTimespan.Milliseconds;

// returns 5
intervalTimespan.TotalMilliseconds

Ответ 4

Очевидно, Miliseconds возвращает только часть milisenconds вашего TimeSpan, а TotalMiliseconds вычисляет, сколько миллисекунд во времени представлено TimeSpan.

В вашем случае сначала возвращается 0, потому что у вас ровно 5 секунд, второй возвращает 5000, потому что 5s == 5000ms

Ответ 5

TimeSpan имеет другие перегрузки

TimeSpan(hour, minute, seconds)
TimeSpan(days, hour, minute, seconds)
TimeSpan(days, hour, minute, seconds, milliseconds)

Свойство Milliseconds вернет фактическое значение в миллисекундах

TotalMilliseconds возвращает миллисекунды, включая дни, час, минуту и ​​секунды.