コード例 #1
0
 /// <summary>Copies the elements stored in the queue to a new array.</summary>
 /// <returns>A new array containing a snapshot of elements copied from the queue.</returns>
 public KeyValuePair <TKey, TValue>[] ToArray()
 {
     lock (_syncLock)
     {
         var clonedqueue = new MinQueue(Queue);
         var result      = new KeyValuePair <TKey, TValue> [Queue.Count];
         for (int i = 0; i < result.Length; i++)
         {
             result[i] = clonedqueue.Remove();
         }
         return(result);
     }
 }
コード例 #2
0
 /// <summary>Initializes a queue as a copy of another queue instance.</summary>
 /// <param name="queue">The queue to copy.</param>
 /// <remarks>Key/Value values are not deep cloned.</remarks>
 public MinQueue(MinQueue queue) => Items = new List <KeyValuePair <TKey, TValue> >(queue.Items);