C# 是不是;至于;在.Net Framework 4.0中,是否并行执行循环?或者为什么总数不是各部分的总和

C# 是不是;至于;在.Net Framework 4.0中,是否并行执行循环?或者为什么总数不是各部分的总和,c#,.net-4.0,C#,.net 4.0,我正在编写代码来测试网站的性能。我有以下代码: string url = "http://xxxxxx"; System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); System.Diagnostics.Stopwatch totalTime = new System.Diagnostics.Stopwatch(); totalTime

我正在编写代码来测试网站的性能。我有以下代码:

        string url = "http://xxxxxx";
        System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();

        System.Diagnostics.Stopwatch totalTime = new System.Diagnostics.Stopwatch();
        totalTime.Start();

        for (int i = 0; i < 10; i++)
        {
            stopwatch.Start();
            WebRequest request = HttpWebRequest.Create(url);
            WebResponse webResponse = request.GetResponse();
            webResponse.Close();
            stopwatch.Stop();
            textBox1.Text += "Time Taken " + i.ToString() + " = " + stopwatch.Elapsed.Milliseconds.ToString() + Environment.NewLine;
            stopwatch.Reset();

        }

        totalTime.Stop();
        textBox1.Text += "Total Time Taken = " + totalTime.Elapsed.Milliseconds.ToString() + Environment.NewLine;

我原以为总时间是个人时间的总和。有人知道为什么不是吗?

使用totalmillizes而不是millizes,然后重试测试。你的结果不是你想象的那样

谢谢你解决了这个问题,但是就像内特说的,有什么区别吗?毫秒得到当前毫秒的部分时间,所以1.234秒会得到234秒。TotalMillistics以毫秒的形式返回整个时间,因此上面的值应该是1234。是的,
毫秒
只是毫秒的分数,它不包括已经过去的秒、分钟、小时等。您还可以使用
ElapsedMilliseconds
ElapsedTicks
属性。
Time Taken 0 = 88
Time Taken 1 = 161
Time Taken 2 = 218
Time Taken 3 = 417
Time Taken 4 = 236
Time Taken 5 = 217
Time Taken 6 = 217
Time Taken 7 = 218
Time Taken 8 = 409
Time Taken 9 = 48
Total Time Taken = 257