为了账号安全,请及时绑定邮箱和手机立即绑定

估计完成 C# 程序所需的时间

估计完成 C# 程序所需的时间

C#
心有法竹 2023-07-22 16:35:02
我正在使用秒表,我想估计从开始到结束需要多长时间。它看起来像一个非常简单的复合体。我实例化了秒表,启动它,然后停止它,然后通过编写一个方法 .elapsed 它应该为我提供从开始到停止所需的时间。不幸的是,它总是为我提供 00:00:00。我是否必须在我的电脑上设置一些适合我的文化的内容?我也尝试过 .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
查看完整描述

4 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

您的程序执行时间不到一秒,因此格式化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}" );


查看完整回答
反对 回复 2023-07-22
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

那段代码呢:

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

        watch.Start();
                // do something what do you want

        watch.Stop();

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


查看完整回答
反对 回复 2023-07-22
?
慕斯王

TA贡献1864条经验 获得超2个赞

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



查看完整回答
反对 回复 2023-07-22
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

也许只是因为你的程序执行时间不到一秒,这就是为什么你得到零小时、零分钟和零秒尝试未格式化的输出或ElapsesMilliseconds属性



查看完整回答
反对 回复 2023-07-22
  • 4 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信