2010-03-22 41 views
2

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

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

如何初始化这两个事件列表中构造新的列表?

+0

需要一些更多信息。就目前来看,是的,这没有意义。张贴更大的代码块? – 2010-03-22 21:00:21

+3

语言障碍+作业问题=失败? – 2010-03-22 21:01:10

+0

有人把它标记为家庭作业......你永远不知道。 – 2010-03-22 21:04:06

回答

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

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

也许你的意思是这样的?

public class TestClass 
{ 
     List<Person> personList; 

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

} 
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

不错,干净的例子 – 2010-03-22 21:03:50

0

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

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

将实例化列表。但如此:

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

我理解这个问题吗?

2

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

1

如果这是家庭作业,您的教师可能会告诉您在构造函数中而不是在声明点处初始化列表。

class MyClass 
{ 
    List<Person> organize; 

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