Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ArrayEnumerator.cs
Go to the documentation of this file.
2
3namespace System;
4
5internal sealed class ArrayEnumerator : IEnumerator, ICloneable
6{
7 private readonly Array _array;
8
9 private nint _index;
10
11 public object Current
12 {
13 get
14 {
15 nint index = _index;
17 if ((nuint)index >= array.NativeLength)
18 {
19 if (index < 0)
20 {
22 }
23 else
24 {
26 }
27 }
28 return array.InternalGetValue(index);
29 }
30 }
31
33 {
34 _array = array;
35 _index = -1;
36 }
37
38 public object Clone()
39 {
40 return MemberwiseClone();
41 }
42
43 public bool MoveNext()
44 {
45 nint num = _index + 1;
46 if ((nuint)num >= _array.NativeLength)
47 {
49 return false;
50 }
51 _index = num;
52 return true;
53 }
54
55 public void Reset()
56 {
57 _index = -1;
58 }
59}
nuint NativeLength
Definition Array.cs:432
static void ThrowInvalidOperationException_InvalidOperation_EnumEnded()
static void ThrowInvalidOperationException_InvalidOperation_EnumNotStarted()