diff --git a/src/neo/Network/P2P/TaskManager.cs b/src/neo/Network/P2P/TaskManager.cs index 82e2e9b87a..8ceb0d404b 100644 --- a/src/neo/Network/P2P/TaskManager.cs +++ b/src/neo/Network/P2P/TaskManager.cs @@ -140,27 +140,27 @@ private void OnTaskCompleted(UInt256 hash) [MethodImpl(MethodImplOptions.AggressiveInlining)] private void DecrementGlobalTask(UInt256 hash) { - if (globalTasks.ContainsKey(hash)) + if (globalTasks.TryGetValue(hash, out var value)) { - if (globalTasks[hash] == 1) + if (value == 1) globalTasks.Remove(hash); else - globalTasks[hash]--; + globalTasks[hash] = value - 1; } } [MethodImpl(MethodImplOptions.AggressiveInlining)] private bool IncrementGlobalTask(UInt256 hash) { - if (!globalTasks.ContainsKey(hash)) + if (!globalTasks.TryGetValue(hash, out var value)) { globalTasks[hash] = 1; return true; } - if (globalTasks[hash] >= MaxConncurrentTasks) + if (value >= MaxConncurrentTasks) return false; - globalTasks[hash]++; + globalTasks[hash] = value + 1; return true; }