我有一个基本的概念疑问,并且一直在寻找答案。我已按以下方式初始化列表:
List<string> list = new List<string>() { "a", "b", "c" };
就在这一次我错过了()并以下面的方式初始化它:
List<string> list = new List<string> { "a", "b", "c" };
没有抛出编译时间或运行时错误。所以我想知道第二种方法是否正确?这两者有什么区别?
答案 0 :(得分:1)
两者都做同样的工作,其中()是可选的
在第一个示例中,编译器知道您正在调用默认构造函数
List<string> list = new List<string> { "a", "b", "c" };
在第二个中,您显式调用默认构造函数
List<string> list = new List<string>() { "a", "b", "c" };