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

◆ CopyTo()

virtual void System.Collections.Queue.CopyTo ( Array array,
int index )
inlinevirtual

Implements System.Collections.ICollection.

Reimplemented in System.Collections.Queue.SynchronizedQueue.

Definition at line 313 of file Queue.cs.

314 {
315 if (array == null)
316 {
317 throw new ArgumentNullException("array");
318 }
319 if (array.Rank != 1)
320 {
322 }
323 if (index < 0)
324 {
325 throw new ArgumentOutOfRangeException("index", System.SR.ArgumentOutOfRange_Index);
326 }
327 int length = array.Length;
328 if (length - index < _size)
329 {
331 }
332 int size = _size;
333 if (size != 0)
334 {
335 int num = ((_array.Length - _head < size) ? (_array.Length - _head) : size);
336 Array.Copy(_array, _head, array, index, num);
337 size -= num;
338 if (size > 0)
339 {
340 Array.Copy(_array, 0, array, index + _array.Length - _head, size);
341 }
342 }
343 }
static string ArgumentOutOfRange_Index
Definition SR.cs:30
static string Arg_RankMultiDimNotSupported
Definition SR.cs:18
static string Argument_InvalidOffLen
Definition SR.cs:22
Definition SR.cs:7

References System.Collections.Queue._array, System.Collections.Queue._head, System.Collections.Queue._size, System.SR.Arg_RankMultiDimNotSupported, System.SR.Argument_InvalidOffLen, System.SR.ArgumentOutOfRange_Index, System.array, System.Array.Copy(), System.index, and System.length.

Referenced by System.Collections.Queue.SynchronizedQueue.CopyTo().