有没有办法让这个更干净,而不是像我在这里做的那样使用温度值?
更新代码有一个逻辑错误,没有显示我在做什么。 这就是我正在做的:
var loopTempValue = noOfPackets / 100;
for(i=0; i < noOfPackets; i++)
{
\\DoStuff
if (i == loopTempValue)
{
loopTempValue = loopTempValue + (noOfPackets / 100);
UploadBackGroundWorker.ReportProgress(pross);
}
}
最终更新
这就是反馈后修复的方式,谢谢大家。
if (i % (noOfPackets / 100) == 0 && i != 0)
{
UploadBackGroundWorker.ReportProgress(pross);
}
最佳答案
if (i % 100 == 0 && i != 0) { //YOUR CODE }
模数非常适合这样的检查。
关于模数的更多信息 - http://www.vias.org/cppcourse/chap04_01.html
更新:我为 0 的情况添加了 && i != 0
。
如果您想使用临时值而不是硬编码 100,那么这将是一个解决方案:
if (i % tempvalue == 0 && i != 0) { //YOUR CODE }
关于c# - 在循环中获取每第 100 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792682/