public KeyValuePair <TKey, TValue>[] ToArray() { lock (this._syncLock) { ConcurrentPriorityQueue <TKey, TValue> .MinBinaryHeap minBinaryHeap = new ConcurrentPriorityQueue <TKey, TValue> .MinBinaryHeap(this._minHeap); KeyValuePair <TKey, TValue>[] keyValuePairArray = new KeyValuePair <TKey, TValue> [this._minHeap.Count]; for (int index = 0; index < keyValuePairArray.Length; ++index) { keyValuePairArray[index] = minBinaryHeap.Remove(); } return(keyValuePairArray); } }
public MinBinaryHeap( ConcurrentPriorityQueue <TKey, TValue> .MinBinaryHeap heapToCopy) { this._items = new List <KeyValuePair <TKey, TValue> >((IEnumerable <KeyValuePair <TKey, TValue> >)heapToCopy.Items); }