From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001 From: giy <giy@omp-system.ru> Date: Fri, 02 Sep 2022 14:16:56 +0300 Subject: [PATCH] Обновление до версии 2.9.0 --- QtVsTools.Package/Common/PriorityQueue.cs | 19 ++++++++----------- 1 files changed, 8 insertions(+), 11 deletions(-) diff --git a/QtVsTools.Package/Common/PriorityQueue.cs b/QtVsTools.Package/Common/PriorityQueue.cs index cdc57e7..af8fffd 100644 --- a/QtVsTools.Package/Common/PriorityQueue.cs +++ b/QtVsTools.Package/Common/PriorityQueue.cs @@ -51,8 +51,8 @@ public abstract class BasePriorityQueue<T, TPriority> : Concurrent, IEnumerable<T> where TPriority : IComparable<TPriority> { - SortedDictionary<TPriority, T> ItemsByPriority { get; set; } - Dictionary<object, TPriority> ItemPriority { get; set; } + SortedDictionary<TPriority, T> ItemsByPriority { get; } + Dictionary<object, TPriority> ItemPriority { get; } T Head { get; set; } public int Count { get; private set; } public bool IsEmpty => (Count == 0); @@ -61,7 +61,7 @@ IEnumerator<T> IEnumerable<T>.GetEnumerator() => Items.GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => Items.GetEnumerator(); - Func<T, object> GetItemKey { get; set; } + Func<T, object> GetItemKey { get; } public BasePriorityQueue() : this(x => x) { } @@ -102,11 +102,10 @@ if (item == null) throw new InvalidOperationException("Item cannot be null."); lock (CriticalSection) { - T oldItem; - if (ItemsByPriority.TryGetValue(priority, out oldItem) && !item.Equals(oldItem)) + if (ItemsByPriority.TryGetValue(priority, out T oldItem) && !item.Equals(oldItem)) throw new InvalidOperationException("An item with the same priority exists."); - TPriority oldPriority; - if (ItemPriority.TryGetValue(GetItemKey(item), out oldPriority)) { + + if (ItemPriority.TryGetValue(GetItemKey(item), out TPriority oldPriority)) { ItemsByPriority.Remove(oldPriority); --Count; } @@ -128,8 +127,7 @@ public T Peek() { lock (CriticalSection) { - T result; - if (!TryPeek(out result)) + if (!TryPeek(out T result)) throw new InvalidOperationException("Queue is empty."); return result; } @@ -167,8 +165,7 @@ public T Dequeue() { lock (CriticalSection) { - T result; - if (!TryDequeue(out result)) + if (!TryDequeue(out T result)) throw new InvalidOperationException("Queue is empty."); return result; } -- Gitblit v1.9.1