Уверен, многие начинающие c#-программеры хотели бы отслеживать время выполнения операций в их программах. Но как это правильно сделать, знают не многие. Первое, что приходит на ум – использовать дополнительный поток, который и будет «щелкать» время. Но у этого подхода есть много недостатков и к тому же его не так просто реализовать правильно. В противовес этому, платформа .NET располагает штатными функциями.
Все они находятся в пространстве имен System.Diagnostics:
Все они находятся в пространстве имен System.Diagnostics:
using System.Diagnostics;
Далее необходимо создать экземпляр типа Stopwatch:
Stopwatch sWatch = new Stopwatch();
В необходимый момент времени (непосредственно перед началом выполнения измеряемых операций) запускаем отсчет системного времени:
sWatch.Start(); //любой набор операций (работа с базой данных)
В конце выполнения измеряемых операций останавливаем счет:
sWatch.Stop();
Теперь, можем вывести значение затраченного времени в миллисекундах:
Console.WriteLine (sw.ElapsedMilliseconds.ToString());
Если время на порядки больше миллисекунд, то удобнее пользоваться типом TimeSpan:
TimeSpan tSpan; tSpan = sWatch.Elapsed; Console.WriteLine(ts.ToString());
Я часто использую данные конструкции для определения времени при работе с БД, файлами и отрисовкой графики. Вы же можете применять данный функции подсчета времени выполнения операций и в других ситуациях.
Полный пример кода:
Stopwatch sWatch = new Stopwatch();
sWatch.Start();
//любой набор операций (работа с базой данных)
sWatch.Stop();
Console.WriteLine ("Всего затрачено времени: " + sWatch.Elapsed.ToString());
0.00 (0%) 0 votes






