如何为每个Object创建一个Array并将其添加到List(c#)

时间:2018-05-31 23:36:28

标签: c# arrays

我要做的是创建同一个类的多个对象,每个对象都有自己的一组值(例如名称,地址和个人号码)保存在一个数组中,然后将其添加到列表中员工,但是当我尝试创建一个Object时,名称和地址保持为null。这就是我到目前为止所做的:

 abstract class Person
{
    static public string _name;
    static public string _adresse; 

}

class Student : Person
{
    #region fields

    public string _personalnumber = Fakultät.generate_personalnr();

    #endregion

    //initiating the array witht the Infos about the Student
    public string[] StudentenA = new string[3] { Person._name, Person._address, personalnumber };

    #region const
    public Studenten (string name, string address)
    {
        Person._name = name;
        Person._address = address;

    }
    #endregion

提前感谢您的帮助。 Bearowl

编辑1:将变量更改为所有英语(原始项目中的所有德语)

2 个答案:

答案 0 :(得分:2)

因为它看起来像是一个家庭作业,所以我并没有写出确切的代码,而是试图帮助你提供一些提示。

Person类可能写得不正确。

  1. 如果您希望每个人都有自己的姓名和地址,则字段不应为static
  2. 学生班可能写得不好。

    1. person对象已包含名称和地址字段。学生对象继承自它,因此您只需要将个人号码添加为另一个属性。 (也就是说,你可能不需要学生班中的数组)
    2. 修复父类
    3. 后,您需要更新构造函数
    4. 完成对Person和Student类的正确编码后,您应该能够在主代码中创建一个包含3个Student对象的数组
    5. 编辑:我有一个概念证明(tio.run)修复,包含类继承的示例(方法覆盖等)。如果我在这里分享,请告诉我。谢谢!

答案 1 :(得分:0)

您应该在构造函数中指定StudentenA,以便在设置_name_address后进行。

public Studenten (string name, string address)
{
    Person._name = name;
    Person._address = address;
    StudentenA = new string[3] { Person._name, Person._address, personalnumber };
}

但是,Person的_name_address不应该是静态的。对于静态,只存在一个实例 - 并非所有人都有相同的名称和地址,是吗? :)