2013-06-24 23 views
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; 
     } 
+5

goto?那是什麼? –

+0

你到底想做什麼? – ojlovecd

+0

goto來自VB是一個指令,去具體的標籤.. – Milen

回答

2

寫任何東西當你比較兩個DateTime對象,內部Ticks進行比較。不僅僅是秒。因此,DateTime.Now與您的DateTime(2013, 6, 24, 9, 25, 21)實例具有相同的Ticks的可能性非常小。

如果你想約在9時25分21秒開始的東西,你可以創建timer並設置它是你的時間和當前時間之間的延遲時間跨度:初始化,trolltimenow

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

我的Visual Studio不知道Timer方法! –

+0

@MancatoIlDottore它不是一種方法。 Timer是System.Threading命名空間中的一個類。查看msdn的鏈接 –

1

後可能不同。兩者都沒有改變,所以它們保持不同。

+0

Henrik 100%爲真。順便說一下,C#使用定時器來處理這種情況。這裏:http://msdn.microsoft.com/fr-fr/library/system.timers.timer.aspx – C4stor

0

因爲大概trolltimenow根本不相等,您的程序跳過if部分並轉到else部分。

但在你的else部分,你要goto1goto。這會導致程序無限循環。