【问题标题】:for loop: add seconds each time a loop is made [closed]for循环:每次进行循环时添加秒数[关闭]
【发布时间】:2014-05-22 21:41:04
【问题描述】:

如何在每次迭代时为这个 for 循环添加 300 秒?

我需要的很简单,但我无法集中注意力。

我的初始秒数 = 14400,下一个循环我需要添加 300 秒.. 所以

loop 1: seconds = 14400
loop 2: seconds = 14700
loop 3: seconds = 15000

等等……

for (int i = 0; i < 145; i++)
{
  int seconds = 14400;
  TimeSpan t = TimeSpan.FromSeconds(seconds);
  string time = string.Format("{0:D2}:{1:D2}:{2:D2}", t.Hours, t.Minutes, t.Seconds);
  Chart1.Series["TARGET"].Points.AddXY(time, 0);
}

【问题讨论】:

  • 使用计时器并计算它经过了多少次。
  • 你有没有尝试过?提示:解决方案涉及将i 乘以 300。或者您是否试图延长循环的实际执行时间?

标签: c# for-loop


【解决方案1】:

将此int seconds = 14400; 放在for 循环之外。根据您的帖子,下面的代码将在每次迭代中增加 300 秒。

int seconds = 14400;
for (int i = 0; i < 145; i++)
{
  seconds+= 300;
}

【讨论】:

  • 你去。谢谢!
  • 仍然不允许他使用TimeSpan的小时/分钟/秒
  • @jeffdot,查看编辑后的答案。
  • 我对完全未经编辑的原始版本投了反对票,因为他的 3 个问题中有 2 个完全没有解决。当我对此发表评论时,您进行了编辑,然后您再次进行了编辑。我删除了 my 反对票,但似乎有人申请了。由于他仍然满意,我完全将其反转为赞成:)
  • @jeffdot,感谢您的诚实。另外,请参阅问题所有者对我的回答的回复。我认为他发布的代码与帖子无关。唯一的原因是变量的范围在循环内。
【解决方案2】:

您在寻找TimeSpan.AddSeconds(300) 吗?

t.AddSeconds(300);

这里:

    void example()
    {
        var t = TimeSpan.FromSeconds(14400);

        for(int i = 0; i < 145; i++)
        {

            t.Add(TimeSpan.FromSeconds(300));

            string time = string.Format("{0:D2}:{1:D2}:{2:D2}", t.Hours, t.Minutes, t.Seconds);
            Chart1.Series["TARGET"].Points.AddXY(time, 0);
        }
    }

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2014-03-22
    相关资源
    最近更新 更多