Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ToArray()

T[] System.Collections.Concurrent.ConcurrentQueue< T >.ToArray ( )
inlineinherited

Implements System.Collections.Concurrent.IProducerConsumerCollection< T >.

Definition at line 153 of file ConcurrentQueue.cs.

154 {
156 long count = GetCount(head, headHead, tail, tailTail);
157 T[] array = new T[count];
158 using IEnumerator<T> enumerator = Enumerate(head, headHead, tail, tailTail);
159 int num = 0;
160 while (enumerator.MoveNext())
161 {
162 array[num++] = enumerator.Current;
163 }
164 return array;
165 }
void SnapForObservation(out ConcurrentQueueSegment< T > head, out int headHead, out ConcurrentQueueSegment< T > tail, out int tailTail)
static int GetCount(ConcurrentQueueSegment< T > s, int head, int tail)
static IEnumerator< T > Enumerate(ConcurrentQueueSegment< T > head, int headHead, ConcurrentQueueSegment< T > tail, int tailTail)

References System.array, System.count, System.Collections.Concurrent.ConcurrentQueue< T >.Enumerate(), System.Collections.Concurrent.ConcurrentQueue< T >.GetCount(), and System.Collections.Concurrent.ConcurrentQueue< T >.SnapForObservation().

Referenced by System.Collections.Concurrent.ConcurrentQueue< T >.CopyTo().