设定时间的动作不起作用

时间:2013-06-24 07:31:45

标签: c# time

我不知道,为什么它在设定的时间没有写任何东西

       DateTime trolltime = new DateTime(2013, 6, 24, 9, 25, 21); //nevermind the time
        DateTime now = DateTime.Now;

        goto1:
        if (trolltime == now)
        {
            Console.WriteLine("blahblah");
        }

        else
        {
            goto goto1;
        }

3 个答案:

答案 0 :(得分:2)

当您比较两个DateTime个对象时,会比较内部Ticks。不仅仅是几秒钟。因此,DateTime.NowTicks实例具有相同DateTime(2013, 6, 24, 9, 25, 21)的可能性非常小。

如果你想在9:25:21大约开始,你可以创建timer并将其延迟设置为你的时间和当前时间之间的时间跨度:

DateTime trolltime = new DateTime(2013, 6, 24, 9, 25, 21);
DateTime now = DateTime.Now;
Timer timer = new Timer(callback, state, trolltime - now, TimeSpan.Zero);

答案 1 :(得分:1)

初始化后,trolltimenow可能不同。两者都没有改变,所以他们保持不同。

答案 2 :(得分:0)

因为trolltimenow可能完全不相同而您的程序跳过if部分并转到else部分。

但在else部分,您将goto1goto对齐。这会导致你的程序无限循环。