【发布时间】:2015-11-13 00:10:13
【问题描述】:
有点令人困惑,尤其是在尝试在标题中进行描述时。这是一些示例代码。我希望这是可能的(我还没有找到方法。)
DateTime startTime = DateTime.Now;
int i = 0;
bool running = true;
while (running)
{
DateTime? lastRunTime = null;
if (i == 0)
{
if ((DateTime.Now - startTime).Minutes >= Program.genTimer)
{
i = 1;
lastRunTime = DateTime.Now;
}
}
else if ((DateTime.Now - lastRunTime).Minutes >= Program.genTimer)
{
//doestuff
}
这可能看起来很愚蠢(这根本不起作用,显然可以为空的时间跨度不包含“分钟”的定义。我也尝试过
DateTime lastRunTime;
而不是
DateTime? lastRunTime = null;
所以基本上我强制第一个 if 语句第一次为真,然后每次通过都为假。我绝对愿意接受不同的方法。
如果您好奇,我们的目标是在服务中运行它,在该服务中,它以不同的时间间隔一次运行 11 次操作。由于这些操作的处理方式,我一次只能运行一次。
【问题讨论】:
标签: c# datetime if-statement while-loop nullable