Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
StringRuneEnumerator.cs
Go to the documentation of this file.
1
using
System.Collections
;
2
using
System.Collections.Generic
;
3
4
namespace
System.Text
;
5
6
public
struct
StringRuneEnumerator
:
IEnumerable
<Rune>,
IEnumerable
,
IEnumerator
<Rune>,
IDisposable
,
IEnumerator
7
{
8
private
readonly
string
_string
;
9
10
private
Rune
_current
;
11
12
private
int
_nextIndex
;
13
14
public
Rune
Current
=>
_current
;
15
16
object
? IEnumerator.Current =>
_current
;
17
18
internal
StringRuneEnumerator
(
string
value
)
19
{
20
_string
=
value
;
21
_current
=
default
(
Rune
);
22
_nextIndex
= 0;
23
}
24
25
public
StringRuneEnumerator
GetEnumerator
()
26
{
27
return
this
;
28
}
29
30
public
bool
MoveNext
()
31
{
32
if
((uint)
_nextIndex
>=
_string
.Length)
33
{
34
_current
=
default
(
Rune
);
35
return
false
;
36
}
37
if
(!
Rune
.
TryGetRuneAt
(
_string
,
_nextIndex
,
out
_current
))
38
{
39
_current
=
Rune
.
ReplacementChar
;
40
}
41
_nextIndex
+=
_current
.
Utf16SequenceLength
;
42
return
true
;
43
}
44
45
void
IDisposable
.
Dispose
()
46
{
47
}
48
49
IEnumerator
IEnumerable
.
GetEnumerator
()
50
{
51
return
this
;
52
}
53
54
IEnumerator<Rune>
IEnumerable<Rune>
.
GetEnumerator
()
55
{
56
return
this
;
57
}
58
59
void
IEnumerator
.
Reset
()
60
{
61
_current
=
default
(
Rune
);
62
_nextIndex
= 0;
63
}
64
}
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Collections.Generic.IEnumerable.GetEnumerator
new IEnumerator< T > GetEnumerator()
System.Collections.Generic.IEnumerable
Definition
IEnumerable.cs:4
System.Collections.Generic.IEnumerator
Definition
IEnumerator.cs:4
System.Collections.IEnumerator.Reset
void Reset()
System.IDisposable.Dispose
void Dispose()
System.IDisposable
Definition
IDisposable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Collections
Definition
BlockingCollection.cs:8
System.Text
Definition
ConsoleEncoding.cs:1
System.ExceptionArgument.value
@ value
System.Text.Rune.Utf16SequenceLength
int Utf16SequenceLength
Definition
Rune.cs:55
System.Text.Rune.ReplacementChar
static Rune ReplacementChar
Definition
Rune.cs:53
System.Text.Rune.TryGetRuneAt
static bool TryGetRuneAt(string input, int index, out Rune value)
Definition
Rune.cs:630
System.Text.Rune
Definition
Rune.cs:12
System.Text.StringRuneEnumerator.GetEnumerator
StringRuneEnumerator GetEnumerator()
Definition
StringRuneEnumerator.cs:25
System.Text.StringRuneEnumerator.StringRuneEnumerator
StringRuneEnumerator(string value)
Definition
StringRuneEnumerator.cs:18
System.Text.StringRuneEnumerator.Current
Rune Current
Definition
StringRuneEnumerator.cs:14
System.Text.StringRuneEnumerator.MoveNext
bool MoveNext()
Definition
StringRuneEnumerator.cs:30
System.Text.StringRuneEnumerator._nextIndex
int _nextIndex
Definition
StringRuneEnumerator.cs:12
System.Text.StringRuneEnumerator._current
Rune _current
Definition
StringRuneEnumerator.cs:10
System.Text.StringRuneEnumerator._string
readonly string _string
Definition
StringRuneEnumerator.cs:8
System.Text.StringRuneEnumerator
Definition
StringRuneEnumerator.cs:7
source
System.Private.CoreLib
System.Text
StringRuneEnumerator.cs
Generated by
1.10.0