Wie kann ich testen, ob ein Wert innerhalb eines Bereich mit einer "case" - Anweisung anstelle einer "if" - Anweisung?

Kann die folgende if-Anweisung umgewandelt werden, um eine case-Anweisung?

if (Number >= 5) and (Number <= 10) then
  lblAnswer.Caption := 'in range'
else
  lblAnswer.Caption := 'out of range';

Meine Antwort :

Kann es ja

case (number >= 5) and (Number <= 10) of
  lblAnswer.Caption := 'in range';
  lblAnswer.Caption := 'out of range';
end;

Ist das richtig?

  • Warum wollen Sie das tun? Für solche Ausdrücke, ein if ... then ist nur die klarer und schneller Weg, das zu tun. Es besteht kein Interesse, mit einem case hier.
  • Eine Alternative Anweisung : if (Zahl in [5..10]) then .. else ..
  • InRange (), wenn Grenzen nicht konstant sind, oder außerhalb des festgelegten Bereichs liegen.
InformationsquelleAutor user1000441 | 2011-10-18
Schreibe einen Kommentar