Как сравнить Time.Elapsed с условием? - PullRequest
0 голосов
/ 10 марта 2020

Я создал простое консольное приложение, в котором пользователь должен выполнить определенную задачу, и измеряется время, необходимое для этого. Чтобы измерить время, я использую класс Секундомер и создал переменную Секундомер , которая остановилась после того, как пользователь выполнил задачу

Stopwatch stopwatch = new Stopwatch();
var watch = Stopwatch.StartNew();

. Затем я сохраняю время, взятое в переменную с именем timeTaken

TimeSpan timeTaken = watch.Elapsed;

Мой вопрос: есть ли способ сравнить значение этой переменной с другим заданным временем? Например, TimeTaken <5 секунд </strong>. Я создал базовый оператор c if, чтобы продемонстрировать, что мне нужно.

string elapsedTime = String.Format("\n{0:00}:{1:00}:{2:00}",timeTaken.Minutes, timeTaken.Seconds, timeTaken.Milliseconds);

if (elapsedTime == "00:03:00")
{
    Console.WriteLine("Really Fast");
}
else if (elapsedTime == "00:05:00")
{
    Console.WriteLine("Fast");
}

Не уверен, что это сравнение возможно, я оглянулся, но ничего не нашел, заранее спасибо.

1 Ответ

4 голосов
/ 10 марта 2020

Структура содержит свойства, которые возвращают общее количество миллисекунд, секунд, минут, часов или дней, поэтому просто используйте соответствующее свойство. Например:

if (timeTaken.TotalSeconds <= 3)
{
    Console.WriteLine("Really Fast");
}
else if (timeTaken.TotalSeconds <= 5)
{
    Console.WriteLine("Fast");
}
...