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

本文关键字:添加 列表 对象 创建 | 更新日期: 2023-09-27 18:21:13

我是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<Elf> e = new List<Elf>()

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

感谢

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

首先我要将newElf()重组为构造函数:

public Elf()
{
    this.age      = rnd.Next(20, 50);
    this.speed    = rnd.Next(10, 20);
    this.strength = rnd.Next(1, 5);
} 

和主要:

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!");
}

这样,您就可以将精灵的数量作为命令行参数进行传递。或者,如果你想在程序启动后从用户那里获得它,请尝试这个线程。