Zitat von
GuenterS:
Aber kann mir jemand sagen worin denn eigentlich der Vorteil für For In besteht
Der code, der deine Container verwendet ist wesentlich lesbarer, außerdem ist es zum Beispiel für nicht-array-basierte Container enorm vortielhaft, da man dort oftmals keine wirkliche Indexierung hat.
Der Enum würde sich von Knoten zu knoten hangeln ohne das du in deinem Code mit den Knoten hantieren müsstest.
Zitat von
GuenterS:
, wenn ich dazu nun doch wieder erst Enumeratoren, etc. schreiben muss? Dann könnt ich ja gleich ne gewöhnliche for Schleife verwenden.
Tja, genau das ist der Punkt, den ich einfach nicht kapiere.
In .Net-Sprachen wird ein "foreach" bzw. "for in" versuchen Enum.Current auf den Item typen zu boxen. In D2005 nicht, wodurch jeder Nachfahre eines generisch gehaltenen Containers (wie TList) alles neu implementieren muss.
Da for in eindeutig durch .Net inspiriert wurde, sollte man eigentlich erwarten können, dass man eine halbwegs konsequente "Kopie" davon bekommt...