首页 > 解决方案 > 比键入多个 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
    { }
}

标签: c#if-statementconsole

解决方案


如果我很好理解你。你有 10 个名字,你想随机抽取 1 个名字?如果是这样的话:

列出敌人的名字。生成从 0 到 0 的随机数enemyList.Length - 1

根据生成的随机数从列表中获取元素。

var enemyName = enemyList[randomNumber]

将来您只需在敌人列表中添加新名称,代码就可以工作......


推荐阅读