时间执行程序

时间:2014-02-14 22:34:23

标签: c# profiling

计算程序运行时间的最佳方法是什么?我有一个代码,需要知道它将运行多长时间。在我看来,最好的方法是启动计时器。

using System;
using System.Collections.Generic;

class MainClass
{
    static void Main()
    {
        var x = new {MyEnumerator = new List<int>() { 1, 2, 3 }.GetEnumerator()};
        while (x.MyEnumerator.MoveNext())
            Console.WriteLine(x.MyEnumerator.Current);
    }
}

2 个答案:

答案 0 :(得分:3)

使用Stopwatch查看代码运行的时间:

    var sw = Stopwatch.StartNew();
    var x = new {MyEnumerator = new List<int>() { 1, 2, 3 }.GetEnumerator()};
    while (x.MyEnumerator.MoveNext())
        Console.WriteLine(x.MyEnumerator.Current);
    Debug.WriteLine(sw.Elapsed);

答案 1 :(得分:2)

这是一种做法。使用Stopwatch类。

using System;
using System.Diagnostics;
using System.Threading;

class MainClass
{
    static void Main()
    {
    // Create new stopwatch
    Stopwatch stopwatch = new Stopwatch();

    // Begin timing
    stopwatch.Start();

    // Do something    
    var x = new {MyEnumerator = new List<int>() { 1, 2, 3 }.GetEnumerator()};
    while (x.MyEnumerator.MoveNext())
        Console.WriteLine(x.MyEnumerator.Current);

    // Stop timing
    stopwatch.Stop();

    // Write result
    Console.WriteLine("Time elapsed: {0}",
        stopwatch.Elapsed);
    }
}