我是C#的新手,所以请对我这么轻松
我有一种方法可以创造一个随机年龄,力量(1-5)和速度的精灵。
对于我的主人,我想创建一个随机精灵列表,但我无法做到这一点
让我说我的精灵课是:
class Elf
{
public int age;
public int strength;
public int speed;
Random rnd = new Random();
public void newElf()
{
this.age = rnd.Next(20, 50);
this.speed = rnd.Next(10, 20);
this.strength = rnd.Next(1, 5);
}
}
那么,我怎样才能设法用5个不同的精灵完成一个List(在我的代码中,我问用户他想要创建多少精灵)
List<Elf> e = new List<Elf>()
*抱歉英语不好,这不是我的第一语言
谢谢
答案 0 :(得分:0)
首先,我将newElf()
重组为构造函数:
public Elf()
{
this.age = rnd.Next(20, 50);
this.speed = rnd.Next(10, 20);
this.strength = rnd.Next(1, 5);
}
并在Main:
static void Main(string[] args)
{
// look in the first argument for a number of elves
int nElves = 0;
List<Elf> e = new List<Elf>();
if (args.Length > 0 && Int32.TryParse(args[0], out nElves))
{
for (int i = 0; i < nElves; i++)
{
e.Add(new Elf());
}
}
else
Console.WriteLine("The first argument to this program must be the number of elves!");
}
这样,您可以将精灵的数量作为命令行参数传递。或者,如果您希望在程序启动后从用户那里获取,请尝试this thread。