c# - 在循环中获取每第 100 个值

标签 c# for-loop syntax

有没有办法让这个更干净,而不是像我在这里做的那样使用温度值?


更新代码有一个逻辑错误,没有显示我在做什么。 这就是我正在做的:

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/

相关文章:

c# - 给定键不存在于字典 Xamarin 表单中

c# - 如何通过 C# 暂停和继续 Windows 服务

r - 加速 R 中的 for 循环

php - 什么是 "break/continue $var syntax"(将在 PHP 5.4 中删除)?

c - 语法和指针运算

C# 提高 SQLite SELECT 性能

c# - new 关键字隐藏虚方法实现的实际用法? C#

R 使用 data.table 计算依赖于前一行的列

c++ - 通过循环展开优化程序

shell - 出错(Windows): line 1: syntax error near unexpected token `,'