【问题标题】:Background worker report progress position后台工作人员报告进度位置
【发布时间】:2013-02-20 17:34:18
【问题描述】:

ReportProgress 的最佳位置是什么??

//Do my hard work before report progress
bkWorker.ReportProgress((int)percent, company.CompanyName);

bkWorker.ReportProgress((int)percent, company.CompanyName);
//Do my hard work after report progress

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    从时间的角度来看,这无关紧要,因为循环的顶部或底部会很快发生。

    只要确保覆盖边缘情况(从一开始就设置 0%,完成后设置 100%。您的选项如下:

    while(condition)
    {
        report
        dowork
    }
    report 100%
    

    report 0%
    while(condition)
    {
        dowork
        report
    }
    

    while(true)
    {
        report
        if(100%)
            break;
        dowork
    }
    

    因此,这取决于您对逻辑外观的偏好。处理时间无关紧要

    【讨论】:

    • 或者换一种说法——你可能应该报告你已经完成的工作,而不是你将要做的工作。 +1
    猜你喜欢
    • 2010-10-25
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多