C# 中是否有一个类可以给我时钟滴答,方法消耗的秒数?我想我有两个将该功能包装在函数周围,以计时所占用的滴答声和秒数。
user349026
问问题
1845 次
4 回答
11
你可以使用System.Diagnostics.Stopwatch
类。
Stopwatch sw = new Stopwatch();
sw.Start();
// Your method call here...
sw.Stop();
// Get the elapsed time
TimeSpan elapsed = sw.Elapsed;
从这里,您可以使用TimeSpan.Ticks
或TimeSpan.TotalSeconds
属性分别确定经过的滴答声或经过的秒数。
如果您愿意,您可以使用以下几行的方法将功能“包装”在函数周围,正如您所提到的(只是一个想法,您可能希望调整此代码以适合您的特定目的 - 传入论据等):
public static T ExecuteWithElapsedTime<T>(Func<T> function, out TimeSpan elapsedTime)
{
T rval;
Stopwatch sw = new Stopwatch();
sw.Start();
rval = function();
sw.Stop();
elapsedTime = sw.Elapsed;
return rval;
}
您可以这样调用它(myFunc
返回 的函数在哪里int
):
TimeSpan elapsed;
int result = ExecuteWithElapsedTime(myFunc, out elapsed);
可能更简单,但甚至不用像这样的方法,只需将秒表代码与您的方法调用内联即可。
于 2010-12-09T13:50:08.090 回答
3
采用:
using System.Diagnostics;
...
var sw = Stopwatch.StartNew();
DoYaThing();
Console.WriteLine("{0} Elapsed", sw.Elapsed);
于 2010-12-09T13:50:33.100 回答
0
您可以检查[System.TimeSpan]
该类并将其包装在您的方法周围。
于 2010-12-09T13:51:45.033 回答