c# - 比键入多个 else if 语句更快的方法
问题描述
我正在为我的控制台游戏中的敌人做一个随机名称生成器,我让它选择一个随机数,并根据它给敌人一个名字的数字。我希望我的代码看起来更干净,并且为了将来的参考,我不想输入 10 多个 else if 语句。有没有更简单的方法可以做到这一点,还是我必须继续这样做?
void chooseName()
{
Random numGen = new Random();
int number = numGen.Next(0, 10);
if (number == 1)
{ }
else if (number == 2)
{ }
else if (number == 3)
{ }
else if (number == 4)
{ }
else if (number == 5)
{ }
else if (number == 6)
{ }
else if (number == 7)
{ }
else if (number == 8)
{ }
else if (number == 9)
{ }
else
{ }
}
解决方案
如果我很好理解你。你有 10 个名字,你想随机抽取 1 个名字?如果是这样的话:
列出敌人的名字。生成从 0 到 0 的随机数enemyList.Length - 1
根据生成的随机数从列表中获取元素。
var enemyName = enemyList[randomNumber]
将来您只需在敌人列表中添加新名称,代码就可以工作......
推荐阅读
- c++ - 从模板参数到构造函数参数
- r - 更改 grid.arrange 文本中的字体类型
- javascript - 当我了解 microtask 和 Promise 时,我遇到了一个我不理解的行为
- laravel - [Route: password.reset] [URI: reset-password/{token}] 缺少必需参数
- php - 无法访问laravel 8中的软删除文件
- c++ - 使用地址清理程序时,协程框架似乎被过早标记为已销毁
- python - 你如何在 tkinter 中更改字体大小
- postgresql - Postgresql,在连接中定义限制?
- vscode-devcontainer - Github Codespaces - 无法从 repo 中检测到平台/语言
- python - 如何根据 UserId 添加 .value_counts(normalize=True) 列?