IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
ReadOnlySpanSeparatorEnumerator.cs
Go to the documentation of this file.
1using System;
2
4{
5
10 {
11
12 ReadOnlySpan<char> name;
13 ReadOnlySpan<char> curr;
14 readonly char separator;
15
21 public ReadOnlySpanSeparatorEnumerator(ReadOnlySpan<char> name, char separator)
22 {
23 this.name = name;
24 curr = default;
25 this.separator = separator;
26 }
27
33
37 public ReadOnlySpan<char> Current => curr;
38
43 public bool MoveNext()
44 {
45 var span = name;
46 if (span.Length == 0)
47 return false;
48
49 var index = span.IndexOf(separator);
50 if (index == -1)
51 {
52 name = ReadOnlySpan<char>.Empty;
53 curr = span;
54 return true;
55 }
56
57 curr = span.Slice(0, index);
58 name = span.Slice(index + 1);
59 return true;
60 }
61
62 }
63}
ReadOnlySpanSeparatorEnumerator GetEnumerator()
Gets an enumerator.
ReadOnlySpanSeparatorEnumerator(ReadOnlySpan< char > name, char separator)
Initializes a new instance.
bool MoveNext()
Returns whether any more entries exist.