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% が設定され、完了時に 100% が設定されます。オプションは次のとおりです。
while(condition)
{
report
dowork
}
report 100%
また
report 0%
while(condition)
{
dowork
report
}
また
while(true)
{
report
if(100%)
break;
dowork
}
したがって、ロジックがどのように表示されるかは、好み次第です。処理時間は問わない