这可能不是什么大问题,但有人可以让我知道在下面的代码中填充int(s)列表的最大区别是什么?对我来说,第一种方法是使用构造函数,但没有得到new int[]
的重点?!在第二路上完全糊涂了!
List<int> list1 = new List<int>(new int[]{ 1, 2, 3 });
List<int> list2 = new List<int>() { 1, 2, 3 };
答案 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);
集合初始值设定项允许您指定一个或多个元素 初始化实现的集合类型时的初始化程序
IEnumerable
并且Add
具有适当的签名作为实例 方法或扩展方法。元素初始值设定项可以是a 简单值,表达式或对象初始值设定项。通过使用 集合初始值设定项,您不必指定多个调用 源代码中类的Add
方法;编译器添加了 调用