0

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

       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;
        }
4

3 回答 3

2

当您比较两个DateTime对象时,会比较内部的Ticks。不只是秒。因此,与您的实例DateTime.Now相同的可能性很小。TicksDateTime(2013, 6, 24, 9, 25, 21)

如果您想在大约 9:25:21 开始某些事情,您可以创建计时器并将其延迟设置为您的时间和当前时间之间的时间跨度:

DateTime trolltime = new DateTime(2013, 6, 24, 9, 25, 21);
DateTime now = DateTime.Now;
Timer timer = new Timer(callback, state, trolltime - now, TimeSpan.Zero);
于 2013-06-24T07:34:42.490 回答
1

初始化之后,trolltimenow大概是不同的。两者都没有改变,所以它们保持不同。

于 2013-06-24T07:35:15.590 回答
0

因为可能根本不相等,并且您的程序会跳过trolltime部分并转到部分。nowifelse

但就您else而言,您将goto1goto. 这会导致您的程序出现无限循环。

于 2013-06-24T07:35:33.607 回答