Thema: Delphi For oder While?

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

For oder While?

  Alt 18. Nov 2004, 11:53
welche der beiden schleifen würdet ihr benutzen?

while schleife:

Delphi-Quellcode:
function TChans.ChannelExists(ChannelName: string): boolean;
var
  i: integer;
begin
  result := false;
  if ChannelName <> 'then
  begin
    i := Low(FChannels);
    while (not(result)) or (i <= High(FChannels)) do
    begin
      if CompareText(FChannels[i].Name, ChannelName) = 0 then
        result := true;
      inc(i);
    end;
  end;
end;
for schleife:

Delphi-Quellcode:
function TChans.ChannelExists(ChannelName: string): boolean;
var
  i: integer;
begin
  result := false;
  if ChannelName <> 'then
  begin
    for i := Low(FChannels) to High(FChannels)) do
      if CompareText(FChannels[i].Name, ChannelName) = 0 then
      begin
        result := true;
        break; // bzw exit;
      end;
  end;
end;
die while schleife prüft jedes mal aufs neue ihre Bedingung, die for schleife hingegen wird mit einem break/exit beendet... hab gehört das for schleifen perfformanter sind, break und exit aber wiederum ein schlechter stil sind.... also was sollte ich hier nehmen?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat