0

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
4

1 回答 1

3

从时序的角度来看,这无关紧要,因为循环的顶部或底部会发生得如此之快。

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

while(condition)
{
    report
    dowork
}
report 100%

或者

report 0%
while(condition)
{
    dowork
    report
}

或者

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

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

于 2013-02-20T17:38:11.637 回答