dimecres, 19 d’abril del 2017

Els "enumeradores"


Un enumerador és una estructura auxiliar que permet recórrer les estructures dinàmiques de forma seqüencial. Quasi totes elles contenen un mètode GetEnumerator, que permet obtindre un enumerador per a recórrer tots els seus elements. Per exemple, en una taula hash podríem fer:



Com es pot veure, els enumeradores tindran un mètode "MoveNext", que intenta moure's al següent element i torna "false" si no ho aconseguix. En el cas de les taules hash, que tenen dos camps (clau i valor) , l'enumerador a usar serà un "enumerador de diccionario" (IDictionaryEnumerator) , que conté els camps Key i Vaig valorar. Com es veu en l'exemple, és habitual que en una taula Hash no obtinguem la llista d'elements en el mateix orde en què els vam introduir, pel fet que es col·loquen seguint la funció de dispersió. Per a les col·leccions "normales", com les piles i les cues, el tipus d'Enumerador a usar serà un IEnumerator, amb un camp Current per a saber el valor actual:


Nota: els "enumeradores" existixen també en altres plataformes, com Java, encara que allí reben el nom de "iteradores".

Es pot saber més sobre les estructures dinàmiques que hi ha disponibles en la plataforma .Net consultant la referència en línia de MSDN (molta de la qual està sense traduir a l'espanyol):


Cap comentari:

Publica un comentari a l'entrada