估算使用C#完成程序所需的时间

问题描述 投票:-3回答:4

我正在使用秒表,我想估计从开始到结束需要多长时间。

它看起来很简单。我实例化了秒表,启动它,然后停止它,然后编写一个方法。经过它应该为我提供从开始到停止所花费的时间。

不幸的是,它总是为我提供00:00:00。

我必须在我的PC上设置特定于我的文化的东西吗?

我也尝试过.StartNew(),但无济于事。

        Stopwatch stopwatch = new Stopwatch();
        stopwatch.Start();

        string juniorDevOpsFolder = "JuniorDevOps";
        string targetPath = Directory.GetCurrentDirectory();
        int endIndex = targetPath.IndexOf(juniorDevOpsFolder);
        var juniorDevOpsPath = targetPath.Substring(0, endIndex + juniorDevOpsFolder.Length);
        string directory = "Files";
        string targetDirectory = Path.Combine(juniorDevOpsPath, directory);
        ProcessDirectory(targetDirectory);
        stopwatch.Stop();

        // Write hours, minutes and seconds.
        Console.WriteLine("Time elapsed: {0:hh\\:mm\\:ss}", stopwatch.Elapsed);

同样,输出为00:00:00

c# stopwatch
4个回答
1
投票

您的程序执行不到一秒钟,因此格式化的stopwatch.Elapsed正在将00:00:00打印到控制台。尝试使用stopwatch.ElapsedMilliseconds而不是格式化的stopwatch.Elapsed

类似

    Stopwatch stopwatch = new Stopwatch();
    stopwatch.Start();

    //Your business logic

    stopwatch.Stop();
    Console.WriteLine($"Elapsed milliseconds : {stopwatch.ElapsedMilliseconds}" );

1
投票

该代码怎么样:

var watch = new System.Diagnostics.Stopwatch();

        watch.Start();

        // do something what do you want

        watch.Stop();

        Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms");

0
投票

可能需要不到一秒钟的时间。尝试格式化几毫秒。


0
投票

也许只是因为您的程序需要less不到一秒钟的时间来执行,所以为什么您得到零小时,零分钟和零秒?尝试无格式输出或ElapsesMilliseconds属性

© www.soinside.com 2019 - 2024. All rights reserved.