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

◆ Reverse< T >() [2/2]

static void System.Array.Reverse< T > ( T[] array,
int index,
int length )
inlinestatic

Definition at line 2295 of file Array.cs.

2296 {
2297 if (array == null)
2298 {
2299 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.array);
2300 }
2301 if (index < 0)
2302 {
2303 ThrowHelper.ThrowIndexArgumentOutOfRange_NeedNonNegNumException();
2304 }
2305 if (length < 0)
2306 {
2307 ThrowHelper.ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum();
2308 }
2309 if (array.Length - index < length)
2310 {
2311 ThrowHelper.ThrowArgumentException(ExceptionResource.Argument_InvalidOffLen);
2312 }
2313 if (length > 1)
2314 {
2316 ref T reference2 = ref Unsafe.Add(ref Unsafe.Add(ref reference, length), -1);
2317 do
2318 {
2319 T val = reference;
2321 reference2 = val;
2322 reference = ref Unsafe.Add(ref reference, 1);
2323 reference2 = ref Unsafe.Add(ref reference2, -1);
2324 }
2325 while (Unsafe.IsAddressLessThan(ref reference, ref reference2));
2326 }
2327 }
static unsafe ref byte GetArrayDataReference(Array array)

References System.array, System.Runtime.InteropServices.MemoryMarshal.GetArrayDataReference(), System.index, System.length, System.ThrowHelper.ThrowArgumentException(), System.ThrowHelper.ThrowArgumentNullException(), System.ThrowHelper.ThrowIndexArgumentOutOfRange_NeedNonNegNumException(), and System.ThrowHelper.ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum().