
Current
Osztály: System.CharEnumerator
public char Current {get;}
A Current property-ből olvashatjuk ki a sztring aktuális karakterét.
Megjegyzés
Az osztály példányának létrehozása - illetve a Reset függvény hívása - után, csak az első MoveNext függvény hívását követően használható a Current. Amíg ez nem történik meg, addig az osztály belső indexe egy karakterre sem mutat.

MoveNext
Osztály: System.CharEnumerator
public bool MoveNext();
Az osztály belső indexét lépteti eggyel előre. Ennek következtében a Current property a következő karaktert fogja tartalmazni.
Visszatérési érték
Igaz értéket ad vissza, ha még van további kiolvasható karakter.

Reset
Osztály: System.CharEnumerator
public void Reset();
Az osztály belső indexét állítja alapértékre. Ekkor a Current property használata előtt minimum egy MoveNext függvény hívása szükséges.
A példaprogram
A példában a textBox aktuális szövegét bontjuk karakterekre és jelenítjük meg azokat egy ListBox-ban úgy, hogy minden sorába egy-egy karaktert helyezünk.
Mivel a CharEnumerator osztálynak nincs publikus konstruktora, így azt csak a String osztály GetEnumerator függvénye segítségével hozhatjuk létre. A létrehozás után a belső index még nem mutat sehová, így a MoveNext hívásával léptetjük ezt az első karakterre. Ekkor a Current property-ből ezt olvashatjuk ki. A MoveNext függvényt mindaddig hívhatjuk, amíg az igaz értéket ad vissza, mert addig biztos, hogy van olyan karakter, amit még nem olvastunk ki a Current property-n keresztül.
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
Dim s As String = textBox1.Text
Dim ce As CharEnumerator = s.GetEnumerator()
While ce.MoveNext()
listBox1.Items.Add(ce.Current)
End While
Ha a Reset függvényt használjuk, akkor a belső index ismét egy nem létező karakterre mutat. Tekinthetjük ezt úgy is, hogy az első karakter elé fog mutatni és a MoveNext hívása lépteti az első karakterre. E lépés nélkül a Current használata biztos, hogy hibaüzenethez vezetne, így erről ne feledkezzünk meg.
listBox1.Items.Add("--- Reset() ---")
ce.Reset()
ce.MoveNext()
listBox1.Items.Add(ce.Current)
End Sub