填充C#Int列表的问题

时间:2017-10-16 03:58:03

标签: c#

这可能不是什么大问题,但有人可以让我知道在下面的代码中填充int(s)列表的最大区别是什么?对我来说,第一种方法是使用构造函数,但没有得到new int[]的重点?!在第二路上完全糊涂了!

List<int> list1 = new List<int>(new int[]{ 1, 2, 3 });
List<int> list2 = new List<int>() { 1, 2, 3 };

1 个答案:

答案 0 :(得分:3)

带有List<int> list1 = new List<int>(new int[]{ 1, 2, 3 });参数的

IEnumerable calls constructor

List<int> list2 = new List<int>() { 1, 2, 3 };

等于

list2.Add(1);
list2.Add(2);
list2.Add(3);

来自documentation

  

集合初始值设定项允许您指定一个或多个元素   初始化实现的集合类型时的初始化程序   IEnumerable并且Add具有适当的签名作为实例   方法或扩展方法。元素初始值设定项可以是a   简单值,表达式或对象初始值设定项。通过使用   集合初始值设定项,您不必指定多个调用   源代码中类的Add方法;编译器添加了   调用