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 einemcase
hier. - Eine Alternative Anweisung : if (Zahl in [5..10]) then .. else ..
- InRange (), wenn Grenzen nicht konstant sind, oder außerhalb des festgelegten Bereichs liegen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Nummer hat einige integer-Datentyp ist, dann:
Eine kleine Korrektur:
case
aber ehrlich gesagt es besteht kein Interesse, der mit einemcase
hier statt einerif .. then
- Anweisung.case
Aussage!!!