> Ich habe eine kleine Klasse gebaut die einen Indexer > hat/implementiert. Um etwas > Know-How noch zustzlich zu erlangen habe ich auch versucht > daraus einen > Enumerator zu machen, d.h. ich habe noch die Schnittstelle IEnumerable > implementiert und nochmals eine kleine Klasse IEnumarator um den den > Emnumerator zurckliefern zu knnen. > > Nun habe ich das Resultat, der Enumerator luft ebenso wie der > Indexer. Momentan > frage ich mich aber worin eigentlich der Unterschied der > beiden Methoden liegen? > Gibts den Vor- und Nachteile oder Dinge die nur mit dem > Enumerator, nicht aber > ber den Indexer gehen? Irgwie fehlt mir da momentan den berblick.
Ein Indexer stellt eine Methode zur Verfügung in einer beliebigen Reihenfolge anhand eines Index auf Elemente in einer Menge zuzugreifen. So wie man z.B. In einem Array auf beliebige Elemente anhand eines numerischen Index zugreifen kann. Indexer lassen als Index aber beliebige Typen zu, so dass man darüber auch Hashtables etc. implementieren kann. Der Enumerator implementiert das Iterator-Pattern, das dazu dient alle Elemente einer Menge in einer nicht näher festgelegten Reihenfolge abzulaufen. Wenn man IEnumerator implementiert, kann man z.B. Auch foreach benutzen, um über die Menge zu iterieren: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/ vclrftheforeachstatement.asp Gruss, Claudius P.S. Bitte mit Realname in der email-Adresse posten. _______________________________________________ CSharp.net Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/csharp.net
