在构造函数中初始化列表

时间:2010-03-22 20:57:00

标签: c# list constructor

我需要创建一个类,它还将两个事件列表初始化为新的空列表。我不确定这是否是我的问题,但我知道如何创建列表以及如何创建构造函数。我创建了2个列表,现在我应该创建构造函数。这是我的一个清单:

List<Person> organize = new List<Person>();

如何将构造函数中的两个事件列表初始化为新列表?

5 个答案:

答案 0 :(得分:11)

根据我从你的问题中收集到的内容,你有一个有两个列表的课程。

您的要求表明,在课堂内,您需要将列表初始化为空列表。

以下是示例(唯一的区别是我在声明时不会初始化列表,而是在类构造函数中):

public class YourClass
{
    List<Person> organize;
    List<Person> anotherOrganize;

    // constructor
    public YourClass()
    {
        // initialize the two lists to empty lists
        organize = new List<Person>();
        anotherOrganize = new List<Person>();
    }
}

答案 1 :(得分:2)

如果您的列表被声明为字段(直接在类中的成员变量)并且在其声明中初始化,则不应在构造函数中重新初始化它。初始化表达式将由编译器自动移动到构造函数。

答案 2 :(得分:1)

如果这是作业,你的教师可能会告诉你初始化构造函数内部的列表而不是声明点。

class MyClass
{
    List<Person> organize;

    public MyClass()
    {
        this.organize = new List<Person>();
    }
}

答案 3 :(得分:0)

List<Person> organize = new List<Person>();

这将创建一个空列表。你可以说得更详细点吗?我觉得缺少一些细节。

也许你的意思是这样的?

 public class TestClass
 {
      List<Person> personList;

      public TestClass()
      {
           personList = new List<Person>();
      }

 }

答案 4 :(得分:0)

我认为你问的是为什么你的类的构造函数应该实例化两个列表(?)。你是对的

List<Person> organize = new List<Person>();

将实例化列表。但是会这样:

List<Person> organize;
public MyClass()
{
organize = new List<Person>();
}

我能理解这个问题吗?