在C++中想写这样的东西
int Answer;
if (Answer == 1 || Answer == 8 || Answer == 10)
Run Code Online (Sandbox Code Playgroud)
等等,是否可以在不重复变量的情况下缩短代码?
xan*_*tos 14
尝试:
switch (Answer) {
case 1: // fall through
case 8: // fall through
case 10:
// ... do something
break; // Only need if there are other case statements.
// Leaving to help in mainenance.
}
Run Code Online (Sandbox Code Playgroud)
为了便于阅读,我将逻辑封装在描述性命名的函数中.例如,如果您的答案是具有特定颜色的事物,并且答案1,8和10是绿色事物,那么您可以将该逻辑写为
bool ChoiceIsGreen(int answer)
{
return (answer == 1 || answer == 8 || answer == 10);
}
Run Code Online (Sandbox Code Playgroud)
然后你的功能变成了
if (ChoiceIsGreen(Answer))
{
// offer some soylent green
}
Run Code Online (Sandbox Code Playgroud)
如果你有很多这样的选择,如果你有很多原始数据,我会发现它很难读.
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |