创建多个对象并将其添加到列表中

时间:2014-09-09 23:46:59

标签: c# list

我是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>()

*抱歉英语不好,这不是我的第一语言

谢谢

1 个答案:

答案 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