Mathematisch bedeutet aufzählbar, dass "eine Eins-zu-Eins-Entsprechung mit den natürlichen Zahlen erfolgen kann". Die meisten Darstellungen beim Rechnen sind aufzählbar, da sie aus Bitfolgen bestehen und Bitfolgen verwendet werden können, um Zahlen im Binärsystem zu bezeichnen.
Einige Datendarstellungen werden jedoch nicht als aufzählbar angesehen. Zum Beispiel besteht eine Gleitkommazahl aus Bits, aber wir arbeiten damit als Annäherung an eine reelle Zahl. Auf der Binärebene können wir durch aufeinanderfolgende Gleitkommazahlen "zählen", aber normalerweise ist dies in numerischen Anwendungen nicht relevant.
In einigen anderen Situationen ist eine Aufzählung möglich, es besteht jedoch keine Einigung über eine Aufzählung. Beispielsweise bilden alle Objekte in Ihrem Laufzeitbild eine endliche Menge und können aufgelistet werden. Der Garbage Collector macht das, wenn er durch die lebenden Objekte geht. Die Anwendung zählt jedoch nicht die Menge aller Objekte auf diese Weise auf, ohne Rücksicht auf Typ- oder Modulgrenzen. Es werden kleinere Objekte der gleichen Art oder verwandter Objekte aufgelistet.
Wenn eine Aufzählung formal vorliegt, sind sich normalerweise alle Parteien einig. Hier ist eine Reihe von Werten. Dieser ist der erste. Dieser ist sein Nachfolger und so weiter.
In einigen Programmiersprachen gibt es Aufzählungstypen: eine disziplinierte Methode zum Definieren benannter symbolischer Konstanten, die vom Compiler eindeutigen ganzzahligen Werten zugeordnet werden. Wenn solche Typen stark typisiert sind, können diese Konstanten nur in Variablen des entsprechenden Typs gespeichert werden, die als Aufzählungstyp bezeichnet werden . Beispielsweise kann eine benutzerdefinierte Aufzählung vom Typ month
nur die Werte january
durch annehmen december
. Diese werden auf die Werte 0 bis 11 reduziert und können Arithmetik wie das successor(january)
Erzeugen february
oder die Möglichkeit ermöglichen, die Aufzählung als Array-Index zu verwenden: Definieren eines Arrays days[january..december]
mit days[january]
beispielsweise 31. Der Zweck eines Aufzählungstypssoll daher als Teilmenge der natürlichen Zahlen durch andere Namen dienen, die verschieden sind und Klarheit in der Bedeutung bieten (Namen werden anstelle von numerischen Konstanten verwendet) und die Typprüfung: Die Farbe red
einer color
Aufzählung kann keiner Typaufzählung zugeordnet month
werden .
Das Verb aufzählenwird auch verwendet, um das Konzept des Abfragens einer API zum Abrufen einer Liste von Objekten zu bezeichnen, normalerweise schrittweise: Auflisten der Netzwerkschnittstellen, Auflisten der Dateien in einem Verzeichnis usw. Wenn sich ein Objekt in einer 1: N-Korrespondenz mit einigen anderen Objekten befindet, kann es eine Aufzählungs-API unterstützen, mit der wir durch diese Geschwisterobjekte gehen oder sie als Liste abrufen können. Die Terminologie ist etwas trübe; In einigen Fällen ist es beispielsweise immer noch eine Aufzählung, auch wenn die Elemente nicht in einer bestimmten Reihenfolge vorliegen, aber alle ohne Wiederholung besucht werden können. Einige dynamische Satzdatenstrukturen, wie z. B. Hash-Tabellen, bieten keine bestimmte Reihenfolge und können sich beim Wachsen und Verkleinern neu organisieren, sodass die tatsächliche Reihenfolge beim Einfügen und Löschen variiert. A
kann vorher kommenB
, aber wenn wir einfügen C
, kommt jetzt B
zufällig vor, A
weil eine interne Reorganisation stattgefunden hat.