创建新列表的细微差别?

时间:2012-01-27 20:28:18

标签: c# list

我是c#并且通过修改visual studio中的现有代码将程序放在一起。我正在寻找一些指导,以了解创建列表的两种方法之间的区别。两者都编译:

List <int> myList;

//versus

List <int> myList = new List <int>();  

5 个答案:

答案 0 :(得分:8)

这不是微妙的。一个创建一个列表,一个不创建。

第一个简单地声明对列表的引用。在使用之前,您必须稍后创建列表。

第二个声明对列表的引用并创建一个列表并设置引用以同时引用新列表。

答案 1 :(得分:3)

第一个List myList;只是声明变量,但是值是未分配的。第二个实际上创建了一个没有条目的新List对象。

在大多数情况下,您应该使用第二个选项。

答案 2 :(得分:1)

第一行只是创建一个变量来保存对列表的引用。

第二个用空列表初始化引用。

尝试在没有初始化的情况下调用引用上的任何方法/访问属性将最终导致空指针异常

答案 3 :(得分:0)

List <int> myList;

与写作相同

List <int> myList = null; // aka it is not a list yet

答案 4 :(得分:0)

第一行不会创建List<int>对象。它只声明一个名为myList的变量List<int>。如果您尝试对该变量进行任何操作,编译器会抱怨,因为它未初始化。

第二行声明变量并将其初始化为一个值:一个新的List<int>对象。