C#中的Stopwatch怎么用呀,我怎么测试的时间都是一样的呢?

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:11:58
C#中的Stopwatch怎么用呀,我怎么测试的时间都是一样的呢?

我用它记录一个端口的响应时间,理论上如果是一个好的端口,响应时间是200ms,一个坏的端口是1000ms。

可是我用这个Stopwatch却测不准。加入我一开始就测试好的端口,响应时间是200多,然后测试坏的端口响应时间还是200多;假如我一开始测量坏端口,响应时间是1000多,然后再测量好的端口,响应时间还是1000多,郁闷。

我的使用方法是:构造函数里面实例化一个Stopwatch,
然后再测试方法前Start(),测试方法之后Stop()。因为我的测试方法是同步的,如果测试方法没有完成,程序是不会继续的。

Stopwatch提供了几个方法用以控制Stopwatch对象。Start方法开始一个计时操作,Stop方法停止计时。此时如果第二次使用 Start方法,将继续计时,最终的计时结果为两次计时的累加。为避免这种情况,在第二次计时前用Reset方法将对象归零。这三个方法都不需要参数。
你reset了吗?
或者你别在构造函数里实例化,在测试前new一下,下次使用前在new一下。
祝搞定。搞定后分享下。

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

namespace UserPai
{
class Program
{
static decimal pai;
static decimal loop;
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();
for (int i = 1; i < 100000001; i++)
{
loop = (decimal)1 / (2 * i-1);

if (i % 2 == 0)
{
loop = -loop;
}
pai += loop;
}
sw.Stop();
Console.WriteLine( 4*pai);
Console.WriteL