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
答案 0 :(得分:3)
从时间的角度来看,这并不重要,因为循环的顶部或底部会很快发生。
请确保覆盖边缘情况(0%从开始设置,100%在完成时设置。您的选项如下:
while(condition)
{
report
dowork
}
report 100%
OR
report 0%
while(condition)
{
dowork
report
}
OR
while(true)
{
report
if(100%)
break;
dowork
}
因此,它归结为您对逻辑外观的偏好。处理时间无关紧要