2016-09-02 18 views
-3

我需要40個計時器,但我想動態創建這些計時器。添加多個定時器for循環C#

System.Timers.Timer timermatrix1=new System.Timers.Timer(); 
timermatrix1.Enabled = true; 
timermatrix1.Interval = 10; 
timermatrix1.Elapsed += Timermatrix1_Elapsed; 

private void Timermatrix1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 
    { 
     ..... 
    } 

此代碼可以創建一個計時器,但我需要40.So我該怎麼辦?

+3

請了解數組和列表,然後回來 –

+0

@Thomas我知道數組和列表,但我不知道如何動態地改變定時器的名字 – dviddddd

+1

爲什麼你的計時器需要一個名字?誰會讀那個名字? –

回答

-1

創建一個數組,並在循環中初始化它們:

System.Timers.Timer[] timerMatrix = new System.Timers.Timer[40]; 

for(int i=0; i < 40; i++){ 
    timerMatrix[i] = new System.Timers.Timer() { 
     Enabled = true, 
     Interval = 10 
    }; 

    timerMatrix[i].Elapsed += (sender, e) => { 
     //TODO: add timer logic 
    }; 
} 
+0

不要以爲這會編譯... –

+0

已經不工作。錯誤是=>「已經不存在在當前上下文中」 – dviddddd

+0

對不起,錯過了之前的定時器參考,編輯上面 –