В чем разница между секундомером и TimeProvider для методов GetTimeStamp и Getelapsedtime?C#

Место общения программистов C#
Anonymous
В чем разница между секундомером и TimeProvider для методов GetTimeStamp и Getelapsedtime?

Сообщение Anonymous »

.net 7 представил новый метод для System.diagnostics.stopwatch Тип с названием getelapsedtime . Он используется в сочетании с GetTimestAmp :

Код: Выделить всё

long start = Stopwatch.GetTimestamp();

await LongRunningTaskAsync();

TimeSpan elapsed = Stopwatch.GetElapsedTime(start);

Console.WriteLine($"Duration: {elapsed}");
Недавно я наткнулся на System.timeprovider , работая над проектом .NET Framework. Он имеет почти тот же API, что и Spectwatch :

Код: Выделить всё

long start = TimeProvider.System.GetTimestamp();

await LongRunningTaskAsync();

TimeSpan elapsed = TimeProvider.System.GetElapsedTime(start);

Console.WriteLine($"Duration: {elapsed}");
< /code>
Stopwatch
можно просто заменить timeprovider.system , а код выглядит и функционирует точно так же.
Теперь существует ли какая -то разница между ними? TimeProvider.getElapsedTime существует гораздо дольше, чем секундомер эквивалент, поэтому это единственный вариант, например, в .Net Framework. Если это уже существовало, я спрашиваю себя, почему они даже добавят тот же метод в секундомер введите более новую версию. Что из них следует использовать, когда решение возможно?

Подробнее здесь: https://stackoverflow.com/questions/795 ... mestamp-an

Вернуться в «C#»