Einzelnen Beitrag anzeigen

Benutzerbild von t2000
t2000

Registriert seit: 15. Dez 2005
Ort: NRW
212 Beiträge
 
Delphi 11 Alexandria
 
#1

Schleife von 0 bis Count-1 mit Änderung

  Alt 2. Dez 2020, 11:00
Delphi-Version: 10.4 Sydney
Mal eine grundsätzliche Frage, ob dies per Definition so ist und sich auch nicht ändert.

Eine Schleife durch eine Liste in der die Liste selbst geändert wird.

Delphi-Quellcode:
var
  sl : TStringlist;
  i : Integer;
begin
  sl := TStringlist.Create;
  sl.Add('eins');
  sl.Add('zwei');
  sl.Add('drei');
  for i := 0 to sl.Count-1 do
    sl.Add(i.ToString);
  sl.Free;
Das Ergebnis ist
eins
zwei
drei
0
1
2

und die Schleife wird auch beendet.
Ich habe die Anzahl innerhalb der Schleife geändert, also wird der Wert "Count" beim Start gesichert und benutzt.

Kann man sich darauf verlassen, dass das immer so ist? (Also ein Funktionsaufruf, der die Durchlaufanzahl liefert würde immer nur genau einmal aufgerufen.)
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat