可以初始化一个这样的数组:集合初始化
int [ ] arr = { 1, 2, 3, 4, 5 };
但List<T>
不允许这样:
List<int> list = { 1, 2, 3, 4, 5 };
背后有什么原因呢?
毕竟都允许这样的:
int [ ] arr = new int [ ] { 1, 2, 3, 4, 5 };
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
也是为什么它是不可能有LinkedList<T>
做到这一点:?
LinkedList<int> ll = new LinkedList<int>() { 1, 2, 3 };
更新
谢谢你们。刚刚看到答复。我想选择几个答案,但它并没有让我如此。
为什么LinkedList有一个Add方法,虽然显式实现?这可能会被修复吗?因为这样的问题只会在被忽视时雪球变大,对吧?
您可以像这样实例化复杂类型的数组,它与此无关。问题是为什么创建数组的语法与收集初始化的方式不同。 – 2009-01-05 21:47:32
哦,我没有意识到这一点。 – 2009-01-05 21:51:37