AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Löschen in einer "for in" Schleife

Ein Thema von dominikkv · begonnen am 14. Dez 2013 · letzter Beitrag vom 15. Dez 2013
 
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Löschen in einer "for in" Schleife

  Alt 14. Dez 2013, 14:53
Das problem ist, daß der Standard-Enumerator nur den Index und das Ende kennt.
Den Index? Ich dachte immer, ein Eumerator kennt gerade *keinen* Index, sondern nur ein 'Start','Next' und 'Bin ich am Ende?'. Aber, klar: Der spezielle Listen-Enumerator arbeitet natürlich mit einem Index. Aber allgemein gesehen darf ein Enumerator keinen Index kennen. Ein gutes Beispiel ist ein Dataset oder ein Dateiverzeichnis: Dort gibt es wirklich nur die drei o.g. Befehle zum Navigieren.

Da eine For-In-Enumeration in der Umsetzung allgemeingültig sein muss, würde ich mich nie darauf verlassen, wie ein Iterator umgesetzt ist. D.h.: Löschen in Iterator: Nee.

Und deshalb sollte die Remove-Implementierung in der Liste sofort (fail-fast) eine Exception werfen, wenn ein Enumerator aktiv ist. So wie ich das hier lese, scheint das bei Delphi (mal wieder) nur halbherzig, d.h. gar nicht umgesetzt worden zu sein. Oder irre ich mich?
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz