У меня есть таймер, работающий каждую секунду, и я планирую проверять каждый тик этого таймера.
У меня есть хеш-таблица с двумя целыми числами, значение, которое я пытаюсь установить как время.Каждый раз, когда срабатывает таймер, он добавляет 1 к значению того, что было ранее.
Я пытался изменить hashtable
непосредственно в моем операторе For each
, что я также пытался создать новыйhash table
, в котором хранится ключ и новое время, которым он будет, и после этого задайте значения.Но при этом ссылка на объект не устанавливается на экземпляр объекта, что не имеет смысла, поскольку существует проверка, чтобы убедиться, что он не нулевой.
Код
Private Sub expiryTimer_Tick(sender As Object, e As EventArgs) Handles expiryTimer.Tick
Dim toRemove As List(Of Integer)
Dim toSet As Hashtable
'Loop through active table
If Active IsNot Nothing Then
For Each key In Active
If Active(key) >= 10 Then
toRemove.Add(0)
Else
toSet.Add(key, Active(key) + 1)
End If
Next
End If
'Set Values
If toSet IsNot Nothing Then
For Each value In toSet
Active(value) = toSet(value)
Next
End If
'Remove Values
If toRemove IsNot Nothing Then
For Each value In toRemove
Active.Remove(value)
Next
toRemove.Clear()
End If
End Sub