列出对象初始化

时间:2017-04-24 18:21:18

标签: c# list-initialization

我有一个基本的概念疑问,并且一直在寻找答案。我已按以下方式初始化列表:

List<string> list = new List<string>() { "a", "b", "c" };

就在这一次我错过了()并以下面的方式初始化它:

List<string> list = new List<string> { "a", "b", "c" };

没有抛出编译时间或运行时错误。所以我想知道第二种方法是否正确?这两者有什么区别?

1 个答案:

答案 0 :(得分:1)

两者都做同样的工作,其中()是可选的

在第一个示例中,编译器知道您正在调用默认构造函数

  List<string> list = new List<string> { "a", "b", "c" };

在第二个中,您显式调用默认构造函数

  List<string> list = new List<string>() { "a", "b", "c" };