如何对案例进行多种变体
How to make multiple variations on case
我正在使用 delphi 到 运行 以下代码:
if (number> 8) and (number< 10) then
message:= 'first option'
else if (number> 11) and (number< 17) then
message:= 'second option'
else if (number> 18) then
message:= 'third option';
我需要使用 case
执行确切的代码,我正在尝试但没有找到任何说明如何执行此操作的内容:
case idade of
(case > 8 and case< 10) : message:= 'first option';
(case > 11 and case< 17) : message:= 'second option';
(case > 18) : message:= 'third option';
end;
我也尝试搜索有关案例的问题,但我想我也没有找到找到此答案的正确方法。
使用 case
语句最接近的结果如下所示:
case idade of
9: message := 'first option';
12..16: message := 'second option';
else
if idade > 18 then
message := 'third option';
end;
或者这个(感谢@AndreasRejbrand):
case idade of
9: message := 'first option';
12..16: message := 'second option';
19..MaxInt{idade.MaxValue}: message := 'third option';
end;
您可能想阅读关于 Case Statements 实际工作原理的 Embarcadero 文档。
请注意,在原始代码中,if (number> 8) and (number< 10) then
与 if (number = 9) then
相同,如果 number
为 10,您将跳过 message
的赋值, 17 或 18,那是你真正想要的吗?
我正在使用 delphi 到 运行 以下代码:
if (number> 8) and (number< 10) then
message:= 'first option'
else if (number> 11) and (number< 17) then
message:= 'second option'
else if (number> 18) then
message:= 'third option';
我需要使用 case
执行确切的代码,我正在尝试但没有找到任何说明如何执行此操作的内容:
case idade of
(case > 8 and case< 10) : message:= 'first option';
(case > 11 and case< 17) : message:= 'second option';
(case > 18) : message:= 'third option';
end;
我也尝试搜索有关案例的问题,但我想我也没有找到找到此答案的正确方法。
使用 case
语句最接近的结果如下所示:
case idade of
9: message := 'first option';
12..16: message := 'second option';
else
if idade > 18 then
message := 'third option';
end;
或者这个(感谢@AndreasRejbrand):
case idade of
9: message := 'first option';
12..16: message := 'second option';
19..MaxInt{idade.MaxValue}: message := 'third option';
end;
您可能想阅读关于 Case Statements 实际工作原理的 Embarcadero 文档。
请注意,在原始代码中,if (number> 8) and (number< 10) then
与 if (number = 9) then
相同,如果 number
为 10,您将跳过 message
的赋值, 17 或 18,那是你真正想要的吗?