C# 如何用一组数据成员填充列表

C# 如何用一组数据成员填充列表,c#,C#,我想在创建一个由两个不同类(一个是父类,一个是继承类)中的两组数据成员组成的列表时寻求一些知识 为了将其放到上下文中,我试图用一组预先设置的信息填充一个列表。我的第一个问题是“最好的方法是什么?”我想创建一个包含“敌人”信息的列表。例如,“名称”、“描述”和“能力”是敌人类的数据成员,“hp”、“魔法”和“ap”数据成员是从父类“人”继承的“。我需要覆盖父类中设置的原始值,并将这些值与三个数据成员一起应用到列表中,以便调用特定索引并根据该索引检索所需的数据成员。一位朋友告诉我,创建此列表的唯一方

我想在创建一个由两个不同类(一个是父类,一个是继承类)中的两组数据成员组成的列表时寻求一些知识

为了将其放到上下文中,我试图用一组预先设置的信息填充一个列表。我的第一个问题是“最好的方法是什么?”我想创建一个包含“敌人”信息的列表。例如,“名称”、“描述”和“能力”是敌人类的数据成员,“hp”、“魔法”和“ap”数据成员是从父类“人”继承的“。我需要覆盖父类中设置的原始值,并将这些值与三个数据成员一起应用到列表中,以便调用特定索引并根据该索引检索所需的数据成员。一位朋友告诉我,创建此列表的唯一方法是在运行时为每个数据成员创建一个数组,循环输入10个名称,10个hp,然后循环所有这些名称,将它们应用到列表中的相关索引中?这是真的吗?我的问题是“如何用大量数据成员填充一个列表,以便将6条独立的信息应用到列表的一个索引中”我的代码链接到下面以尝试提供帮助

 public string Name;
    public string description;
    public string abilities;
    PERSON P2 = new PERSON();

  public void populateList()
    {

        ENEMY [] name = new ENEMY[10];


            name[0] = "goblin";
            name[1] = "orc";
            name[2] = "Troll";
            name[3] = "hydra";
            name[4] = "dragon";

            for (int i = 0; i < 10; i++) /

                Enemies.Add(name[i]);

            }

    }
我所追求的一个例子如下:

List<Enemy> Enemies = new List<Enemy>();
Enemies.Add(new Enemy() { name = "Goblin", hp = 50, mana = 50, description = "A foul Creature" });
Enemies.Add(new Enemy() { name = "Orc", hp = 500, mana = 50, description = "A tall horrible creature" });
敌人=新列表()

“”列表中的内容如下“”

地精,一种肮脏的生物,爪,100(生命),50(法力),50(ap)。 兽人,一种高大可怕的生物,劈开,500(生命),50(法力),50(ap) 等等

列表中的每个元素都有所有数据成员,如果我调用:


我记不清如何调用列表中的某个索引了

如果我理解正确,您希望从代码中创建一个敌人列表。我假设您有一个名为
敌人
的类。我会这样做:

List<Enemy> Enemies = new List<Enemy>();
Enemies.Add(new Enemy() { name = "Goblin", hp = 50, mana = 50, description = "A foul Creature" });
Enemies.Add(new Enemy() { name = "Orc", hp = 500, mana = 50, description = "A tall horrible creature" });
List敌人=新列表();
添加(新敌人(){name=“Goblin”,hp=50,法力=50,description=“一个肮脏的生物”});
添加(新敌人(){name=“Orc”,hp=500,法力=50,description=“一个高大可怕的生物”});

然后你可以像其他列表一样访问这些。如果我误解了,请留下评论。

你能提供一个你希望结果是什么样的例子吗?我对问题进行了一些编辑,以包括一些形式的例子,如果这有助于sbtw@user3366235,如果你使用“@”符号和我的名字,我会收到你发表评论的通知。