在C中你可以做类似的事情
switch(x) {
case 'a':
case 'b':
printf("something");
break;
case 'c':
printf("else");
break;
}
Run Code Online (Sandbox Code Playgroud)
而在Delphi我试过了两个
case x of
'a':
'b': writeln('something');
'c': writeln('else');
end;
Run Code Online (Sandbox Code Playgroud)
和
case x of
['a','b']: writeln('something');
'c': writeln('else');
end;
Run Code Online (Sandbox Code Playgroud)
但他们俩都行不通.
我虽然有不同的解决方案,例如编写程序并将其称为'a'和'b',但我想知道是否有更好的解决方案.我也可以使用goto,像这样:
case x of
'a': goto labelCaseB;
'b': begin
labelCaseB:
writeln('something');
end;
'c': writeln('else');
end;
Run Code Online (Sandbox Code Playgroud)
并且它工作得很好,但在Delphi语言的case语句中,什么是"标准"解决方案?
当然,我的实际情况要复杂得多:在示例中,我会使用if-else;)
Dsm*_*Dsm 10
德尔福在案例陈述中没有落后.这是C和Delphi之间的主要区别之一.但在你的特殊情况下(抱怨双关语)你可以写
case x of
'a','b': begin
writeln('something');
end;
'c': writeln('else');
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2848 次 |
最近记录: |