HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

CharEnumerator osztály használata


Példaprogram letöltése

6073 bájt

Ha alkalmazásunkban adott egy tetszőleges sztring, melyet karakterekre kell bontanunk, akkor ehhez megfelelő segítséget nyújt a CharEnumerator osztály.
A mellékelt példában ennek használatát vesszük szemügyre.

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

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |